aboutsummaryrefslogtreecommitdiffstats
path: root/src/resource_inventory/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/resource_inventory/views.py')
-rw-r--r--src/resource_inventory/views.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/resource_inventory/views.py b/src/resource_inventory/views.py
index f903394..837cc73 100644
--- a/src/resource_inventory/views.py
+++ b/src/resource_inventory/views.py
@@ -6,3 +6,50 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+
+import json
+from django.shortcuts import render
+from django.http import HttpResponse
+from api.views import list_hosts, list_flavors
+
+
+def host_list_view(request):
+ if request.method == "GET":
+ host_list = json.loads(list_hosts(request).content)
+ flavor_list = json.loads(list_flavors(request).content)
+ flavor_map = {}
+ for flavor in flavor_list:
+ flavor_map[flavor['flavor_id']] = flavor['name']
+
+ # Apparently Django Templating lacks many features that regular Jinja offers, so I need to get creative
+ for host in host_list:
+ id = host["flavor"]
+ name = flavor_map[id]
+ host["flavor"] = {"id": id, "name": name}
+
+ template = "resource/hosts.html"
+ context = {
+ "hosts": host_list,
+ "flavor_map": flavor_map
+ }
+ return render(request, template, context)
+
+ return HttpResponse(status=405)
+
+
+def profile_view(request, resource_id):
+ if request.method == "GET":
+ flavor_list = json.loads(list_flavors(request).content)
+ selected_flavor = {}
+ for flavor in flavor_list:
+ if flavor["flavor_id"] == resource_id:
+ selected_flavor = flavor
+ break
+
+ template = "resource/hostprofile_detail.html"
+ context = {
+ "flavor": selected_flavor
+ }
+ return render(request, template, context)
+
+ return HttpResponse(status=405) \ No newline at end of file