OpenSlides/openslides/core/templatetags/tags.py
Oskar Hahn 32137b6523 Use python3
python3.3 and python3.4 are supported
2014-08-24 21:21:11 +02:00

54 lines
1.1 KiB
Python

from django import template
from django.utils.translation import ugettext as _
from openslides.config.api import config
register = template.Library()
# TODO: remove the tag get_config
@register.simple_tag
def get_config(key):
return config[key]
@register.filter # noqa
def get_config(key):
return config[key]
@register.filter
def trans(value):
return _(value)
@register.filter
def absolute_url(model, link=None):
"""
Returns the absolute_url to a model. The 'link' argument decides which url
will be returned. See get_absolute_url() in the model.
Example: {{ motion|absolute_url:'delete' }}
"""
try:
if link is None:
url = model.get_absolute_url()
else:
url = model.get_absolute_url(link)
except ValueError:
url = ''
return url
@register.filter
def first_line(text):
try:
lines = text.split('\n')
except AttributeError:
return ''
if len(lines) > 1 or len(lines[0]) > 30:
s = "%s ..."
else:
s = "%s"
return s % lines[0][:30]