##// END OF EJS Templates
Added test for all views get requests. Fixed banned view failing this test
Added test for all views get requests. Fixed banned view failing this test

File last commit:

r542:8b7899f5 1.7-dev
r545:9c27ae2e 1.7-dev
Show More
board.py
75 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,
}