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