diff --git a/table/columns/linkcolumn.py b/table/columns/linkcolumn.py index 81ab249..947b89c 100644 --- a/table/columns/linkcolumn.py +++ b/table/columns/linkcolumn.py @@ -6,7 +6,7 @@ from django.template import Template, Context from table.utils import Accessor -from table.columns.base import Column +from .base import Column class LinkColumn(Column): @@ -24,7 +24,7 @@ class Link(object): """ Represents a html tag. """ - def __init__(self, text=None, viewname=None, args=None, kwargs=None, urlconf=None, + def __init__(self, text=None, complete_url_in_text=False, viewname=None, args=None, kwargs=None, urlconf=None, current_app=None, attrs=None): self.basetext = text self.viewname = viewname @@ -37,13 +37,16 @@ def __init__(self, text=None, viewname=None, args=None, kwargs=None, urlconf=Non @property def text(self): if isinstance(self.basetext, Accessor): - basetext = self.basetext.resolve(self.obj) + return self.basetext.resolve(self.obj) or "" else: basetext = self.basetext return escape(basetext) @property def url(self): + if self.complete_url_in_text: + return self.text + if self.viewname is None: return "" @@ -56,7 +59,7 @@ def url(self): for arg in self.args] if self.kwargs: params['kwargs'] = {} - for key, value in self.kwargs.items(): + for key, value in self.kwargs.itmes: params['kwargs'][key] = (value.resolve(self.obj) if isinstance(value, Accessor) else value) if self.urlconf: @@ -111,4 +114,4 @@ def image(self): @property def text(self): - return self.image + return self.image \ No newline at end of file