84d5293fbc
- Always use templatetag 'absolute_url' instead of (depricated) 'model_url'. Search and replace all old arguments: edit -> update, view -> detail, delete - Fixed bug in setting default value in 'absolute_url' templatetag (default value is defined in models.py only). Updated 'backend' template.
77 lines
1.6 KiB
Python
77 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
openslides.utils.templatetags.tags
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Template tags for OpenSlides
|
|
|
|
:copyright: 2011, 2012 by OpenSlides team, see AUTHORS.
|
|
:license: GNU GPL, see LICENSE for more details.
|
|
"""
|
|
|
|
import warnings
|
|
|
|
from django import template
|
|
from django.utils.translation import ugettext as _
|
|
from openslides.config.api import config
|
|
|
|
|
|
register = template.Library()
|
|
|
|
|
|
@register.simple_tag
|
|
def get_config(key):
|
|
return config[key]
|
|
|
|
|
|
@register.filter
|
|
def get_config(key):
|
|
return config[key]
|
|
|
|
|
|
@register.filter
|
|
def trans(value):
|
|
return _(value)
|
|
|
|
|
|
@register.simple_tag
|
|
def model_url(object, link='view'):
|
|
warnings.warn("model_url is deprecated; use absolute_url instead",
|
|
DeprecationWarning)
|
|
try:
|
|
return object.get_absolute_url(link)
|
|
except ValueError:
|
|
return ''
|
|
|
|
|
|
@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' }}
|
|
"""
|
|
if link is None:
|
|
url = model.get_absolute_url()
|
|
else:
|
|
try:
|
|
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]
|