From db901b283c2f2975915568047c9b43c0ca244a7d Mon Sep 17 00:00:00 2001
From: Kostas Papadimitriou <kpap@grnet.gr>
Date: Tue, 26 Mar 2013 20:17:14 +0200
Subject: [PATCH] Display additional vm backend info in helpdesk app

Refs #3452
---
 .../helpdesk/templates/helpdesk/vms_list.html      |  3 +++
 .../synnefo/helpdesk/templatetags/helpdesk_tags.py | 14 +++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/snf-cyclades-app/synnefo/helpdesk/templates/helpdesk/vms_list.html b/snf-cyclades-app/synnefo/helpdesk/templates/helpdesk/vms_list.html
index f67afd32f..844f42943 100644
--- a/snf-cyclades-app/synnefo/helpdesk/templates/helpdesk/vms_list.html
+++ b/snf-cyclades-app/synnefo/helpdesk/templates/helpdesk/vms_list.html
@@ -57,6 +57,9 @@
           <dt>Build backendjobstatus</dt><dd>{{ vm.backendjobstatus }}</dd>
           <dt>Build percentage</dt><dd>{{ vm.buildpercentage }}</dd>
         </dl>
+        <dl class="dl-horizontal well">
+          {{ vm|backend_info|safe }}
+        </dl>
       </div>
       <div class="tab-pane" id="network{{ vm.pk }}">
         <table class="table well">
diff --git a/snf-cyclades-app/synnefo/helpdesk/templatetags/helpdesk_tags.py b/snf-cyclades-app/synnefo/helpdesk/templatetags/helpdesk_tags.py
index e4bdfad4a..d413762aa 100644
--- a/snf-cyclades-app/synnefo/helpdesk/templatetags/helpdesk_tags.py
+++ b/snf-cyclades-app/synnefo/helpdesk/templatetags/helpdesk_tags.py
@@ -81,4 +81,16 @@ def network_nics(network, account, show_deleted=False):
         nics = nics.filter(machine__deleted=False).distinct()
     return nics
 
-network_nics.is_safe = True
+@register.filter(name="backend_info")
+def backend_info(vm):
+    content = ""
+    backend = vm.backend
+    excluded = ['password_hash', 'hash', 'username']
+    for field in vm.backend._meta.fields:
+        if field.name in excluded:
+            continue
+        content += '<dt>Backend ' + field.name + '</dt><dd>' + \
+                   str(getattr(backend, field.name)) + '</dd>'
+    return content
+
+backend_info.is_safe = True
-- 
GitLab