display 'no slices' when there are no slices
[plstackapi.git] / planetstack / core / xoslib / static / js / xosTenant.js
index fc510f3..4c70f70 100644 (file)
@@ -231,31 +231,40 @@ XOSTenantApp.viewSlice = function(model) {
         model = xos.slicesPlus.models[0];\r
     }\r
 \r
-    sliceSelector = new XOSTenantApp.tenantSliceSelectorView({collection: xos.slicesPlus,\r
-                                                              selectedID: model.id,\r
-                                                             } );\r
-    XOSTenantApp.sliceSelector = sliceSelector;\r
-    XOSTenantApp.tenantSliceSelector.show(sliceSelector);\r
+    if (model) {\r
+        sliceSelector = new XOSTenantApp.tenantSliceSelectorView({collection: xos.slicesPlus,\r
+                                                                  selectedID: model ? model.id : null,\r
+                                                                 } );\r
+        XOSTenantApp.sliceSelector = sliceSelector;\r
+        XOSTenantApp.tenantSliceSelector.show(sliceSelector);\r
 \r
-    tenantSummary = new XOSTenantApp.tenantSummaryView({model: model,\r
-                                                        choices: {mount_data_sets: make_choices(xos.tenant().public_volume_names, null),\r
-                                                                  serviceClass: make_choices(xos.tenant().blessed_service_class_names, xos.tenant().blessed_service_classes),\r
-                                                                  default_image: make_choices(xos.tenant().blessed_image_names, xos.tenant().blessed_images),\r
-                                                                  default_flavor: make_choices(xos.tenant().blessed_flavor_names, xos.tenant().blessed_flavors),},\r
-                                                       });\r
-    XOSTenantApp.tenantSummary.show(tenantSummary);\r
+        tenantSummary = new XOSTenantApp.tenantSummaryView({model: model,\r
+                                                            choices: {mount_data_sets: make_choices(xos.tenant().public_volume_names, null),\r
+                                                                      serviceClass: make_choices(xos.tenant().blessed_service_class_names, xos.tenant().blessed_service_classes),\r
+                                                                      default_image: make_choices(xos.tenant().blessed_image_names, xos.tenant().blessed_images),\r
+                                                                      default_flavor: make_choices(xos.tenant().blessed_flavor_names, xos.tenant().blessed_flavors),},\r
+                                                           });\r
+        XOSTenantApp.tenantSummary.show(tenantSummary);\r
 \r
-    tenantSites = new XOSTenantSiteCollection();\r
-    tenantSites.getFromSlice(model);\r
-    model.tenantSiteCollection = tenantSites;\r
-    XOSTenantApp.tenantSites = tenantSites;\r
+        tenantSites = new XOSTenantSiteCollection();\r
+        tenantSites.getFromSlice(model);\r
+        model.tenantSiteCollection = tenantSites;\r
+        XOSTenantApp.tenantSites = tenantSites;\r
 \r
-    tenantSiteList = new XOSTenantApp.tenantSiteListView({collection: tenantSites });\r
-    XOSTenantApp.tenantSiteList.show(tenantSiteList);\r
-    // on xos.slicePlus.sort, need to update xostenantapp.tenantSites\r
+        tenantSiteList = new XOSTenantApp.tenantSiteListView({collection: tenantSites });\r
+        XOSTenantApp.tenantSiteList.show(tenantSiteList);\r
+        // on xos.slicePlus.sort, need to update xostenantapp.tenantSites\r
 \r
-    XOSTenantApp.tenantButtons.show( new XOSTenantButtonView( { app: XOSTenantApp,\r
-                                                                linkedView: tenantSummary } ) );\r
+        XOSTenantApp.tenantButtons.show( new XOSTenantButtonView( { app: XOSTenantApp,\r
+                                                                    linkedView: tenantSummary } ) );\r
+    } else {\r
+        XOSTenantApp.tenantSliceSelector.show(new HTMLView({html: ""}));\r
+        XOSTenantApp.tenantSummary.show(new HTMLView({html: "You have no slices"}));\r
+        XOSTenantApp.tenantSiteList.show(new HTMLView({html: ""}));\r
+        XOSTenantApp.tenantButtons.show( new XOSTenantButtonView( { template: "#xos-tenant-buttons-noslice-template",\r
+                                                                    app: XOSTenantApp,\r
+                                                                    linkedView: tenantSummary } ) );\r
+    }\r
 };\r
 \r
 XOSTenantApp.sanityCheck = function() {\r