From 376e9602ce732a304b4642818d1efc2bf6d499ce Mon Sep 17 00:00:00 2001
From: Kálmán Viktor <kviktor@cloud.bme.hu>
Date: Fri, 26 Sep 2014 15:40:35 +0200
Subject: [PATCH] dashboard: add available objects list to group detail

---
 circle/dashboard/templates/dashboard/group-detail.html | 30 ++++++++++++++++++++++++++++++
 circle/dashboard/views/group.py                        | 10 ++++++++++
 2 files changed, 40 insertions(+)

diff --git a/circle/dashboard/templates/dashboard/group-detail.html b/circle/dashboard/templates/dashboard/group-detail.html
index 4ff5e96..d18aa86 100644
--- a/circle/dashboard/templates/dashboard/group-detail.html
+++ b/circle/dashboard/templates/dashboard/group-detail.html
@@ -52,6 +52,36 @@
 
 <hr />
 
+<h3>{% trans "Available objects for this group" %}</h3>
+<ul class="dashboard-profile-vm-list fa-ul">
+  {% for i in vm_objects %}
+    <li>
+      <a href="{{ i.get_absolute_url }}">
+        <i class="fa fa-li {{ i.get_status_icon }}"></i>
+        {{ i }}
+      </a>
+    </li>
+  {% endfor %}
+  {% for t in template_objects %}
+    <li>
+      <a href="{{ t.get_absolute_url }}">
+        <i class="fa fa-li fa-puzzle-piece"></i>
+        {{ t }}
+      </a>
+    </li>
+  {% endfor %}
+  {% for g in group_objects %}
+    <li>
+      <a href="{{ g.get_absolute_url }}">
+        <i class="fa fa-li fa-users"></i>
+        {{ g }}
+      </a>
+    </li>
+  {% endfor %}
+</ul>
+
+<hr />
+
 <h3>{% trans "User list"|capfirst %}
     {% if perms.auth.add_user %}
         <a href="{% url "dashboard.views.create-user" group.pk %}" class="btn btn-success pull-right">{% trans "Create user" %}</a>
diff --git a/circle/dashboard/views/group.py b/circle/dashboard/views/group.py
index e2cad63..65088d4 100644
--- a/circle/dashboard/views/group.py
+++ b/circle/dashboard/views/group.py
@@ -39,6 +39,7 @@ from ..forms import (
     GroupCreateForm, GroupProfileUpdateForm,
 )
 from ..models import FutureMember, GroupProfile
+from vm.models import Instance, InstanceTemplate
 from ..tables import GroupListTable
 from .util import CheckedDetailView, AclUpdateView, search_user, saml_available
 
@@ -100,6 +101,15 @@ class GroupDetailView(CheckedDetailView):
         context['group_profile_form'] = GroupProfileUpdate.get_form_object(
             self.request, self.object.profile)
 
+        context.update({
+            'group_objects': GroupProfile.get_objects_with_group_level(
+                "operator", self.get_object()),
+            'vm_objects': Instance.get_objects_with_group_level(
+                "user", self.get_object()),
+            'template_objects': InstanceTemplate.get_objects_with_group_level(
+                "user", self.get_object()),
+        })
+
         if self.request.user.is_superuser:
             context['group_perm_form'] = GroupPermissionForm(
                 instance=self.object)
--
libgit2 0.26.0