app: XOSTenantApp,\r
detailFields: ["serviceClass", "default_image", "default_flavor", "network_ports", "mount_data_sets"],\r
fieldDisplayNames: {serviceClass: "Service Level", "default_flavor": "Flavor", "default_image": "Image", "mount_data_sets": "Data Sets"},\r
+\r
+ onShow: function() {\r
+ // the slice selector is in a different table, so make every label cell the maximal width\r
+ make_same_width("#xos-tenant-view-panel", ".xos-label-cell");\r
+ },\r
});\r
\r
XOSTenantApp.tenantSummaryView = tenantSummaryClass;\r
noDeleteColumn: true,\r
disablePaginate: true,\r
disableFilter: true,\r
+ fieldDisplayNames: {"name": "Site"},\r
});\r
\r
XOSTenantApp.tenantSiteListView = tenantSiteListClass;\r
tenantSites = new XOSTenantSiteCollection();\r
tenantSites.getFromSlice(model);\r
model.usersBuffer = model.attributes.users; /* save a copy of 'users' that we can edit. This prevents another view (developer) from overwriting our copy with a fetch from the server */\r
+ model.usersOrig = model.attributes.users; /* save an immutable copy that we'll use for username lookups */\r
+ model.user_namesOrig = model.attributes.user_names;\r
model.tenantSiteCollection = tenantSites;\r
XOSTenantApp.tenantSites = tenantSites;\r
\r
if (xos.tenant().blessed_sites.length == 0) {\r
errors.push("no blessed sites");\r
}\r
+ if (xos.tenant().current_user_site_id == null) {\r
+ errors.push("current user does not have a site");\r
+ }\r
\r
if (errors.length > 0) {\r
$("#tenantSummary").html("Tenant view sanity check failed<br>" + errors.join("<br>"));\r