support for different detail views for each model
diff --git a/planetstack/core/xoslib/static/js/xosAdminSite.js b/planetstack/core/xoslib/static/js/xosAdminSite.js
index 3aa33d3..c44dc58 100644
--- a/planetstack/core/xoslib/static/js/xosAdminSite.js
+++ b/planetstack/core/xoslib/static/js/xosAdminSite.js
@@ -1,4 +1,4 @@
-OBJS = ['deployment', 'image', 'networkTemplate', 'network', 'networkSliver', 'networkDeployment', 'node', 'service', 'site', 'slice', 'sliceDeployment', 'slicePrivilege', 'sliver', 'user', 'sliceRole', 'userDeployment'];
+OBJS = ['deployment', 'image', 'networkTemplate', 'network', 'networkSliver', 'networkDeployment', 'node', 'service', 'site', 'slice', 'sliceDeployment', 'slicePrivilege', 'sliver', 'user', 'sliceRole', 'userDeployment', 'flavor', 'imageDeployment'];
NAV_OBJS = ['deployment', 'site', 'slice', 'user'];
REWRITES = {"/admin/core/deployment/": "#deployments",
@@ -87,23 +87,29 @@
collection_name = name + "s";
region_name = name + "List";
+ if (window["XOSDetailView_" + name]) {
+ detailClass = window["XOSDetailView_" + name].extend({template: "#xos-detail-template",
+ app: XOSAdminApp});
+ } else {
+ detailClass = genericDetailClass;
+ }
if ($(detail_template).length) {
- detailClass = XOSDetailView.extend({
+ detailClass = detailClass.extend({
template: detail_template,
- app: XOSAdminApp,
});
- } else {
- detailClass = genericDetailClass;
}
XOSAdminApp[collection_name + "DetailView"] = detailClass;
- if ($(add_child_template).length) {
- addClass = XOSDetailView.extend({
+ if (window["XOSDetailView_" + name]) {
+ addClass = window["XOSDetailView_" + name].extend({template: "#xos-add-template",
+ app: XOSAdminApp});
+ } else {
+ addClass = genericAddChildClass;
+ }
+ if ($(add_child_template).length) {
+ addClass = detailClass.extend({
template: add_child_template,
- app: XOSAdminApp,
});
- } else {
- addClass = genericAddChildClass;
}
XOSAdminApp[collection_name + "AddChildView"] = addClass;