def get_context_data(self, **kwargs): context = super(DetailView, self).get_context_data(**kwargs) port = self.get_data() table = project_tables.PortsTable(self.request, network_id=port.network_id) context["port"] = port context["url"] = self.get_redirect_url() context["actions"] = table.render_row_actions(port) return context
def get_context_data(self, **kwargs): context = super(DetailView, self).get_context_data(**kwargs) port = self.get_data() network_url = "horizon:project:networks:detail" subnet_url = "horizon:project:networks:subnets:detail" @memoized.memoized_method def get_network(network_id): try: network = api.neutron.network_get(self.request, network_id) except Exception: network = {} msg = _('Unable to retrieve network details.') exceptions.handle(self.request, msg) return network @memoized.memoized_method def get_security_groups(sg_ids): # Avoid extra API calls if no security group is associated. if not sg_ids: return [] try: security_groups = api.neutron.security_group_list(self.request, id=sg_ids) except Exception: security_groups = [] msg = _("Unable to retrieve security groups for the port.") exceptions.handle(self.request, msg) return security_groups results = futurist_utils.call_functions_parallel( (get_network, [port.network_id]), (get_security_groups, [tuple(port.security_groups)])) network, port.security_groups = results port.network_name = network.get('name') port.network_url = reverse(network_url, args=[port.network_id]) for ip in port.fixed_ips: ip['subnet_url'] = reverse(subnet_url, args=[ip['subnet_id']]) table = project_tables.PortsTable(self.request, network_id=port.network_id) # TODO(robcresswell) Add URL for "Ports" crumb after bug/1416838 breadcrumb = [ ((port.network_name or port.network_id), port.network_url), (_("Ports"), None) ] context["custom_breadcrumb"] = breadcrumb context["port"] = port context["url"] = reverse( 'horizon:project:networks:ports_tab', args=[port.network_id]) context["actions"] = table.render_row_actions(port) return context
def get_context_data(self, **kwargs): context = super(DetailView, self).get_context_data(**kwargs) port = self.get_data() network_url = "horizon:project:networks:detail" subnet_url = "horizon:project:networks:subnets:detail" network = self.get_network(port.network_id) port.network_name = network.get('name') port.network_url = reverse(network_url, args=[port.network_id]) for ip in port.fixed_ips: ip['subnet_url'] = reverse(subnet_url, args=[ip['subnet_id']]) table = project_tables.PortsTable(self.request, network_id=port.network_id) # TODO(robcresswell) Add URL for "Ports" crumb after bug/1416838 breadcrumb = [((port.network_name or port.network_id), port.network_url), (_("Ports"), None)] context["custom_breadcrumb"] = breadcrumb context["port"] = port context["url"] = self.get_redirect_url() context["actions"] = table.render_row_actions(port) return context
def get_context_data(self, **kwargs): context = super(DetailView, self).get_context_data(**kwargs) port = self.get_data() network = self.get_network(port.network_id) port.network_name = network.get('name') network_nav = port.network_name or port.network_id table = project_tables.PortsTable(self.request, network_id=port.network_id) # TODO(robcresswell) Add URL for "Ports" crumb after bug/1416838 breadcrumb = [ (_("Networks"), self.get_redirect_url()), (network_nav, reverse('horizon:project:networks:detail', args=(port.network_id, ))), (_("Ports"), ), ] context["custom_breadcrumb"] = breadcrumb context["port"] = port context["url"] = self.get_redirect_url() context["actions"] = table.render_row_actions(port) return context