Merge "Add link to instance for its id in floating ip list"

This commit is contained in:
Jenkins 2012-03-27 21:59:49 +00:00 committed by Gerrit Code Review
commit fe2599ff5d
2 changed files with 13 additions and 2 deletions

View File

@ -19,6 +19,7 @@ import logging
from django import shortcuts
from django.contrib import messages
from django.core import urlresolvers
from django.utils.translation import ugettext_lazy as _
from horizon import api
@ -87,9 +88,18 @@ class DisassociateIP(tables.Action):
return shortcuts.redirect('horizon:nova:access_and_security:index')
def get_instance_link(datum):
view = "horizon:nova:instances_and_volumes:instances:detail"
if datum.instance_id:
return urlresolvers.reverse(view, args=(datum.instance_id,))
else:
return None
class FloatingIPsTable(tables.DataTable):
ip = tables.Column("ip", verbose_name=_("IP Address"))
instance = tables.Column("instance_id",
link=get_instance_link,
verbose_name=_("Instance"),
empty_value="-")
pool = tables.Column("pool",

View File

@ -448,8 +448,9 @@ class Cell(html.HTMLElement):
raise template.TemplateSyntaxError, exc_info[1], exc_info[2]
if self.column.link:
url = self.column.get_link_url(self.datum)
# Escape the data inside while allowing our HTML to render
data = mark_safe('<a href="%s">%s</a>' % (url, escape(data)))
if url:
# Escape the data inside while allowing our HTML to render
data = mark_safe('<a href="%s">%s</a>' % (url, escape(data)))
return data
@property