Revision 6795eb09
b/snf-astakos-app/astakos/im/tables.py | ||
---|---|---|
42 | 42 |
import django_tables2 as tables |
43 | 43 |
|
44 | 44 |
from astakos.im.models import * |
45 |
from astakos.im.templatetags.filters import truncatename |
|
45 | 46 |
|
46 | 47 |
DEFAULT_DATE_FORMAT = "d/m/Y" |
47 | 48 |
|
... | ... | |
56 | 57 |
-1: _('Unregistered'), |
57 | 58 |
} |
58 | 59 |
|
60 |
class TruncatedLinkColumn(tables.LinkColumn): |
|
61 |
|
|
62 |
def __init__(self, *args, **kwargs): |
|
63 |
self.truncate_chars = kwargs.pop('truncate_chars', 10) |
|
64 |
super(TruncatedLinkColumn, self).__init__(*args, **kwargs) |
|
65 |
|
|
66 |
|
|
67 |
def render_link(self, uri, text, attrs=None): |
|
68 |
text = truncatename(text, self.truncate_chars) |
|
69 |
return super(TruncatedLinkColumn, self).render_link(uri, text, attrs) |
|
70 |
|
|
71 |
|
|
59 | 72 |
# Helper columns |
60 | 73 |
class RichLinkColumn(tables.TemplateColumn): |
61 | 74 |
|
... | ... | |
213 | 226 |
class UserProjectApplicationsTable(UserTable): |
214 | 227 |
caption = _('My projects') |
215 | 228 |
|
216 |
name = tables.LinkColumn('astakos.im.views.project_detail', args=(A('pk'),)) |
|
229 |
name = TruncatedLinkColumn('astakos.im.views.project_detail', |
|
230 |
truncate_chars=25, |
|
231 |
args=(A('pk'),)) |
|
217 | 232 |
issue_date = tables.DateColumn(format=DEFAULT_DATE_FORMAT) |
218 | 233 |
start_date = tables.DateColumn(format=DEFAULT_DATE_FORMAT) |
219 | 234 |
end_date = tables.DateColumn(format=DEFAULT_DATE_FORMAT) |
b/snf-astakos-app/astakos/im/templatetags/filters.py | ||
---|---|---|
134 | 134 |
paginator.len |
135 | 135 |
except AttributeError: |
136 | 136 |
paginator._count = len(list(l)) |
137 |
|
|
137 |
|
|
138 | 138 |
try: |
139 | 139 |
page_number = int(page) |
140 | 140 |
except ValueError: |
... | ... | |
197 | 197 |
return '1 byte' |
198 | 198 |
else: |
199 | 199 |
return '0' |
200 |
|
|
200 |
|
|
201 | 201 |
@register.filter |
202 | 202 |
def isinf(v): |
203 | 203 |
if math.isinf(v): |
204 | 204 |
return 'Unlimited' |
205 | 205 |
else: |
206 | 206 |
return v |
207 |
|
|
207 |
|
|
208 | 208 |
@register.filter |
209 |
def truncatename(v): |
|
210 |
max = 18 |
|
209 |
def truncatename(v, max=18, append="..."): |
|
211 | 210 |
length = len(v) |
212 | 211 |
if length>max: |
213 |
return v[:max]+'...'
|
|
212 |
return v[:max] + append
|
|
214 | 213 |
else: |
215 |
return v[:20]
|
|
214 |
return v |
|
216 | 215 |
|
217 | 216 |
@register.filter |
218 | 217 |
def resource_groups(project_definition): |
Also available in: Unified diff