##// END OF EJS Templates
Changed moderator panel style in MD theme
Changed moderator panel style in MD theme

File last commit:

r571:1c1f004f 1.7-dev
r578:99c4948b default
Show More
board.py
76 lines | 1.8 KiB | text/x-python | PythonLexer
from django.core.urlresolvers import reverse
from django.shortcuts import get_object_or_404
from boards.models import Post
from boards.views import thread, api
from django import template
register = template.Library()
actions = [
{
'name': 'google',
'link': 'http://google.com/searchbyimage?image_url=%s',
},
{
'name': 'iqdb',
'link': 'http://iqdb.org/?url=%s',
},
]
@register.simple_tag(name='post_url')
def post_url(*args, **kwargs):
post_id = args[0]
post = get_object_or_404(Post, id=post_id)
if not post.is_opening():
link = reverse('thread', kwargs={
'post_id': post.thread_new.get_opening_post().id}) + '#' + str(
post_id)
else:
link = reverse('thread', kwargs={'post_id': post_id})
return link
@register.simple_tag(name='image_actions')
def image_actions(*args, **kwargs):
image_link = args[0]
if len(args) > 1:
image_link = 'http://' + args[1] + image_link # TODO https?
result = ''
for action in actions:
result += '[<a href="' + action['link'] % image_link + '">' + \
action['name'] + '</a>]'
return result
@register.inclusion_tag('boards/post.html', name='post_view')
def post_view(post, moderator=False):
"""
Get post
"""
return {
'post': post,
'moderator': moderator,
}
@register.inclusion_tag('boards/post.html', name='post_view_truncated')
def post_view_truncated(post, need_open_link=False, moderator=False):
"""
Get post with truncated text. If the 'open' or 'reply' link is needed, pass
the second parameter as True.
"""
return {
'post': post,
'truncated': True,
'need_open_link': need_open_link,
'moderator': moderator,
}