OpenSlides/openslides/utils/templatetags/tags.py

49 lines
966 B
Python
Raw Normal View History

2011-07-31 10:46:29 +02:00
#!/usr/bin/env python
# -*- coding: utf-8 -*-
2012-04-25 22:29:19 +02:00
"""
openslides.utils.templatetags.tags
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Template tags for OpenSlides
:copyright: 2011, 2012 by OpenSlides team, see AUTHORS.
:license: GNU GPL, see LICENSE for more details.
"""
2011-07-31 10:46:29 +02:00
from django import template
from openslides.config.api import config
2011-07-31 10:46:29 +02:00
register = template.Library()
2012-06-11 13:43:48 +02:00
2011-07-31 10:46:29 +02:00
@register.simple_tag
def get_config(key):
2012-02-15 12:04:11 +01:00
return config[key]
2011-07-31 10:46:29 +02:00
2011-07-31 10:46:29 +02:00
@register.simple_tag
def active(request, pattern):
if request.path.startswith(pattern):
return 'selected'
return ''
2012-06-11 13:43:48 +02:00
@register.simple_tag
def model_url(object, link='view'):
2013-01-26 15:25:54 +01:00
# TODO: Rename to object_url
return object.get_absolute_url(link)
@register.filter
def first_line(text):
try:
lines = text.split('\n')
except AttributeError:
return ''
if len(lines) > 1 or len(lines[0]) > 40:
s = "%s ..."
else:
s = "%s"
return s % lines[0][:40]