return backend status in sliceplus object
diff --git a/planetstack/core/xoslib/objects/plus.py b/planetstack/core/xoslib/objects/plus.py
new file mode 100644
index 0000000..f183f33
--- /dev/null
+++ b/planetstack/core/xoslib/objects/plus.py
@@ -0,0 +1,22 @@
+""" PlusObjectMixin
+
+ Implements fields that are common to all OpenCloud objects. For example,
+ stuff related to backend icons.
+"""
+
+class PlusObjectMixin:
+ def getBackendIcon(self):
+ if (self.enacted is not None) and self.enacted >= self.updated:
+ return "/static/admin/img/icon_success.gif"
+ else:
+ if self.backend_status == "Provisioning in progress" or self.backend_status=="":
+ return "/static/admin/img/icon_clock.gif"
+ else:
+ return "/static/admin/img/icon_error.gif"
+
+ def getBackendHtml(self):
+ if (self.enacted is not None) and self.enacted >= self.updated:
+ return '<img src="%s">' % self.getBackendIcon()
+ else:
+ return '<div title="%s"><img src="%s"></div>' % (self.backend_status, self.getBackendIcon())
+
diff --git a/planetstack/core/xoslib/objects/sliceplus.py b/planetstack/core/xoslib/objects/sliceplus.py
index 2542fd7..a5d7a7e 100644
--- a/planetstack/core/xoslib/objects/sliceplus.py
+++ b/planetstack/core/xoslib/objects/sliceplus.py
@@ -1,6 +1,7 @@
from core.models.slice import Slice
+from plus import PlusObjectMixin
-class SlicePlus(Slice):
+class SlicePlus(Slice, PlusObjectMixin):
class Meta:
proxy = True