diff --git a/okitweb/static/okit/js/okit_designer.js b/okitweb/static/okit/js/okit_designer.js index 379695acf..936db1f41 100644 --- a/okitweb/static/okit/js/okit_designer.js +++ b/okitweb/static/okit/js/okit_designer.js @@ -33,7 +33,7 @@ let right_drag_bar_start_x = 0; let ociRegions = []; function resetDesigner() { - $("#console_header_view_select").val('designer'); + $("#toolbar_view_select").val('designer'); handleSwitchToCompartmentView(); newModel(); newDesignerView(); diff --git a/okitweb/static/okit/view/identity/css/okit_identity_view.css b/okitweb/static/okit/view/identity/css/okit_identity_view.css index fd7cc0ee8..b58816b3d 100644 --- a/okitweb/static/okit/view/identity/css/okit_identity_view.css +++ b/okitweb/static/okit/view/identity/css/okit_identity_view.css @@ -8,7 +8,7 @@ grid-auto-flow: column; column-gap: 20px; background: #fff; - padding: 0 0 0 20px; + padding: 0 0 20px 20px; margin: 0; height: 100%; width: 100%; @@ -62,6 +62,7 @@ */ .okit-groups-panel1 { height: 100%; + overflow-y: scroll; } .okit-user-group { @@ -92,6 +93,7 @@ */ .okit-users-panel1 { height: 100%; + overflow-y: scroll; } .okit-user { @@ -173,12 +175,17 @@ div.compact div.okit-resource-details { .okit-identity-details { display: block; - height: 100%; - padding: 10px; + height: calc(100% - 2em); + padding: 10px 10px 50px 10px; border: 1px dashed black; border-radius: 2px; } +.okit-identity-scroll-panel { + height: 100%; + overflow-y: scroll; +} + .okit-identity-details1:first-child { margin-left: 20px; } diff --git a/okitweb/static/okit/view/identity/js/okit_identity_view.js b/okitweb/static/okit/view/identity/js/okit_identity_view.js index 0e7c4e368..26158f139 100644 --- a/okitweb/static/okit/view/identity/js/okit_identity_view.js +++ b/okitweb/static/okit/view/identity/js/okit_identity_view.js @@ -26,7 +26,7 @@ class OkitIdentityView extends OkitJsonView { drawUsersPanel(parent) { const self = this - const users_panel = parent.append('div').attr('id', 'identity_users_panel').attr('class', 'okit-users-grid okit-users-panel') + const users_panel = parent.append('div').attr('class', 'okit-identity-scroll-panel').append('div').attr('id', 'identity_users_panel').attr('class', 'okit-users-grid okit-users-panel') self.model.getUsers().forEach((user) => self.addUserToPanel(users_panel, user)) } @@ -67,7 +67,7 @@ class OkitIdentityView extends OkitJsonView { drawGroupsPanel(parent) { const self = this - const groups_panel = parent.append('div').attr('id', 'identity_groups_panel').attr('class', 'okit-group-grid okit-groups-panel') + const groups_panel = parent.append('div').attr('class', 'okit-identity-scroll-panel').append('div').attr('id', 'identity_groups_panel').attr('class', 'okit-group-grid okit-groups-panel') self.model.getGroups().forEach((group) => self.addGroupToPanel(groups_panel, group)) } diff --git a/visualiser/generators/okitGenerator.py b/visualiser/generators/okitGenerator.py index 61651ea26..ae2b4e37b 100644 --- a/visualiser/generators/okitGenerator.py +++ b/visualiser/generators/okitGenerator.py @@ -1979,7 +1979,10 @@ def renderUser(self, resource): # ---- Display Name self.addJinja2Variable("display_name", display_name, standardisedName) # ---- Description - self.addJinja2Variable("description", resource.get("description", display_name), standardisedName) + description = resource.get("description", display_name) + if len(description) == 0: + description = display_name + self.addJinja2Variable("description", description, standardisedName) # --- Optional if resource.get("email", '') != '': self.addJinja2Variable("email", resource.get("email", ''), standardisedName) @@ -2013,7 +2016,11 @@ def renderUserGroup(self, resource): # ---- Display Name self.addJinja2Variable("display_name", display_name, standardisedName) # ---- Description - self.addJinja2Variable("description", resource.get("description", display_name), standardisedName) + # self.addJinja2Variable("description", resource.get("description", display_name), standardisedName) + description = resource.get("description", display_name) + if len(description) == 0: + description = display_name + self.addJinja2Variable("description", description, standardisedName) # --- Optional # ---- User Members if len(resource['user_ids']): diff --git a/visualiser/query/ociQuery.py b/visualiser/query/ociQuery.py index f01fced78..fabd2e38a 100644 --- a/visualiser/query/ociQuery.py +++ b/visualiser/query/ociQuery.py @@ -51,6 +51,7 @@ class OCIQuery(OCIConnection): "Export", "ExportSet", "FileSystem", + "Group", "Image", "Instance", # "InstancePool", @@ -73,6 +74,8 @@ class OCIQuery(OCIConnection): "SecurityList", "ServiceGateway", "Subnet", + "User", + "UserGroupMembership", "Vcn", "VmCluster", "VmClusterNetwork", @@ -95,6 +98,7 @@ class OCIQuery(OCIConnection): "Drg": "dynamic_routing_gateways", "ExadataInfrastructure": "exadata_infrastructures", "FileSystem": "file_storage_systems", + "Group": "groups", "Instance": "instances", "InstancePool": "instance_pools", "InternetGateway": "internet_gateways", @@ -110,6 +114,7 @@ class OCIQuery(OCIConnection): "SecurityList": "security_lists", "ServiceGateway": "service_gateways", "Subnet": "subnets", + "User": "users", "Vcn": "virtual_cloud_networks", "VmCluster": "vm_clusters", "VmClusterNetwork": "vm_cluster_networks", @@ -203,7 +208,10 @@ def convert(self, discovery_data, compartments): resource_list = self.route_tables(resource_list, resources) elif resource_type == "ServiceGateway": resource_list = self.service_gateways(resource_list, resources) + elif resource_type == "Group": + resource_list = self.groups(resource_list, resources) # Check Life Cycle State + # logger.info(f'Processing {resource_type} : {resource_list}') response_json[self.DISCOVERY_OKIT_MAP[resource_type]] = [r for r in resource_list if "lifecycle_state" not in r or r["lifecycle_state"] in self.VALID_LIFECYCLE_STATES] #response_json[self.DISCOVERY_OKIT_MAP[resource_type]] = resource_list return response_json @@ -226,6 +234,11 @@ def file_storage_systems(self, file_storage_systems, resources): mt["export_set"] = ess[0] if len(ess) else {} return file_storage_systems + def groups(self, groups, resources): + for group in groups: + group["user_ids"] = [m["user_id"] for m in resources.get("UserGroupMembership", []) if m["group_id"] == group["id"]] + return groups + def instances(self, instances, resources): # Exclude OKE Instances instances = [i for i in instances if 'oke-cluster-id' not in i['metadata']]