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
|
|
|
|
2013-08-11 09:36:17 +02:00
|
|
|
import warnings
|
|
|
|
|
2011-07-31 10:46:29 +02:00
|
|
|
from django import template
|
2013-06-14 09:00:37 +02:00
|
|
|
from django.utils.translation import ugettext as _
|
2013-03-01 17:13:12 +01:00
|
|
|
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
|
|
|
|
2012-04-16 16:35:30 +02:00
|
|
|
|
2013-04-03 00:40:56 +02:00
|
|
|
@register.filter
|
|
|
|
def get_config(key):
|
|
|
|
return config[key]
|
|
|
|
|
|
|
|
|
2013-06-14 09:00:37 +02:00
|
|
|
@register.filter
|
|
|
|
def trans(value):
|
|
|
|
return _(value)
|
|
|
|
|
|
|
|
|
2012-06-03 09:35:26 +02:00
|
|
|
@register.simple_tag
|
|
|
|
def model_url(object, link='view'):
|
2013-08-11 09:36:17 +02:00
|
|
|
warnings.warn("model_url is deprecated; use absolute_url instead",
|
|
|
|
DeprecationWarning)
|
2013-08-03 08:58:16 +02:00
|
|
|
try:
|
|
|
|
return object.get_absolute_url(link)
|
|
|
|
except ValueError:
|
|
|
|
return ''
|
2012-06-30 10:39:58 +02:00
|
|
|
|
|
|
|
|
2013-08-11 09:36:17 +02:00
|
|
|
@register.filter
|
|
|
|
def absolute_url(model, link='detail'):
|
|
|
|
"""
|
|
|
|
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:
|
|
|
|
return model.get_absolute_url(link)
|
|
|
|
except ValueError:
|
|
|
|
return ''
|
|
|
|
|
|
|
|
|
2012-06-30 10:39:58 +02:00
|
|
|
@register.filter
|
|
|
|
def first_line(text):
|
|
|
|
try:
|
|
|
|
lines = text.split('\n')
|
|
|
|
except AttributeError:
|
|
|
|
return ''
|
2013-06-03 16:01:16 +02:00
|
|
|
if len(lines) > 1 or len(lines[0]) > 30:
|
2012-06-30 10:39:58 +02:00
|
|
|
s = "%s ..."
|
|
|
|
else:
|
|
|
|
s = "%s"
|
2013-06-03 16:01:16 +02:00
|
|
|
return s % lines[0][:30]
|