render_to changed to render

This commit is contained in:
Igor Yanchenko 2012-02-18 00:10:44 +02:00
parent 180804bd09
commit 64a658965b

View file

@ -1,7 +1,7 @@
import math import math
from datetime import datetime, timedelta from datetime import datetime, timedelta
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404, render
from django.http import Http404, HttpResponse, HttpResponseRedirect, HttpResponseForbidden from django.http import Http404, HttpResponse, HttpResponseRedirect, HttpResponseForbidden
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
@ -13,7 +13,7 @@ from django.utils.encoding import smart_str
from django.db import transaction from django.db import transaction
from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt
from djangobb_forum.util import render_to, paged, build_form, paginate, set_language from djangobb_forum.util import paged, build_form, paginate, set_language
from djangobb_forum.models import Category, Forum, Topic, Post, Profile, Reputation,\ from djangobb_forum.models import Category, Forum, Topic, Post, Profile, Reputation,\
Attachment, PostTracking Attachment, PostTracking
from djangobb_forum.forms import AddPostForm, EditPostForm, UserSearchForm,\ from djangobb_forum.forms import AddPostForm, EditPostForm, UserSearchForm,\
@ -28,7 +28,6 @@ from djangobb_forum.templatetags.forum_extras import forum_moderated_by
from haystack.query import SearchQuerySet, SQ from haystack.query import SearchQuerySet, SQ
@render_to('djangobb_forum/index.html')
def index(request, full=True): def index(request, full=True):
users_cached = cache.get('users_online', {}) users_cached = cache.get('users_online', {})
users_online = users_cached and User.objects.filter(id__in = users_cached.keys()) or [] users_online = users_cached and User.objects.filter(id__in = users_cached.keys()) or []
@ -65,14 +64,12 @@ def index(request, full=True):
'last_user': User.objects.latest('date_joined'), 'last_user': User.objects.latest('date_joined'),
} }
if full: if full:
return to_return return render(request, 'djangobb_forum/index.html', to_return)
else: else:
to_return['TEMPLATE'] = 'djangobb_forum/lofi/index.html' return render(request, 'djangobb_forum/lofi/index.html', to_return)
return to_return
@transaction.commit_on_success @transaction.commit_on_success
@render_to('djangobb_forum/moderate.html')
@paged('topics', forum_settings.FORUM_PAGE_SIZE) @paged('topics', forum_settings.FORUM_PAGE_SIZE)
def moderate(request, forum_id): def moderate(request, forum_id):
forum = get_object_or_404(Forum, pk=forum_id) forum = get_object_or_404(Forum, pk=forum_id)
@ -80,12 +77,11 @@ def moderate(request, forum_id):
if request.user.is_superuser or request.user in forum.moderators.all(): if request.user.is_superuser or request.user in forum.moderators.all():
topic_ids = request.POST.getlist('topic_id') topic_ids = request.POST.getlist('topic_id')
if 'move_topics' in request.POST: if 'move_topics' in request.POST:
return { return render(request, 'djangobb_forum/move_topic.html', {
'categories': Category.objects.all(), 'categories': Category.objects.all(),
'topic_ids': topic_ids, 'topic_ids': topic_ids,
'exclude_forum': forum, 'exclude_forum': forum,
'TEMPLATE': 'djangobb_forum/move_topic.html' })
}
elif 'delete_topics' in request.POST: elif 'delete_topics' in request.POST:
for topic_id in topic_ids: for topic_id in topic_ids:
topic = get_object_or_404(Topic, pk=topic_id) topic = get_object_or_404(Topic, pk=topic_id)
@ -100,17 +96,16 @@ def moderate(request, forum_id):
open_close_topic(request, topic_id, 'c') open_close_topic(request, topic_id, 'c')
return HttpResponseRedirect(reverse('djangobb:index')) return HttpResponseRedirect(reverse('djangobb:index'))
return {'forum': forum, return render(request, 'djangobb_forum/moderate.html', {'forum': forum,
'topics': topics, 'topics': topics,
#'sticky_topics': forum.topics.filter(sticky=True), #'sticky_topics': forum.topics.filter(sticky=True),
'paged_qs': topics, 'paged_qs': topics,
'posts': forum.posts.count(), 'posts': forum.posts.count(),
} })
else: else:
raise Http404 raise Http404
@render_to('djangobb_forum/search_topics.html')
@paged('results', forum_settings.SEARCH_PAGE_SIZE) @paged('results', forum_settings.SEARCH_PAGE_SIZE)
def search(request): def search(request):
# TODO: move to form # TODO: move to form
@ -188,22 +183,18 @@ def search(request):
if topics_to_exclude: if topics_to_exclude:
posts = posts.exclude(topics_to_exclude) posts = posts.exclude(topics_to_exclude)
return {'paged_qs': topics} return render(request, 'djangobb_forum/search_topics.html', {'paged_qs': topics})
elif 'posts' in request.GET['show_as']: elif 'posts' in request.GET['show_as']:
return {'paged_qs': posts, return render(request, 'djangobb_forum/search_posts.html', {'paged_qs': topics})
'TEMPLATE': 'djangobb_forum/search_posts.html' return render(request, 'djangobb_forum/search_topics.html', {'paged_qs': topics})
}
return {'paged_qs': topics}
else: else:
form = PostSearchForm() form = PostSearchForm()
return {'categories': Category.objects.all(), return render(request, 'djangobb_forum/search_form.html', {'categories': Category.objects.all(),
'form': form, 'form': form,
'TEMPLATE': 'djangobb_forum/search_form.html' })
}
@login_required @login_required
@render_to('djangobb_forum/report.html')
def misc(request): def misc(request):
if 'action' in request.GET: if 'action' in request.GET:
action = request.GET['action'] action = request.GET['action']
@ -220,7 +211,7 @@ def misc(request):
if request.method == 'POST' and form.is_valid(): if request.method == 'POST' and form.is_valid():
form.save() form.save()
return HttpResponseRedirect(post.get_absolute_url()) return HttpResponseRedirect(post.get_absolute_url())
return {'form':form} return (request, 'djangobb_forum/report.html', {'form':form})
elif 'submit' in request.POST and 'mail_to' in request.GET: elif 'submit' in request.POST and 'mail_to' in request.GET:
form = MailToForm(request.POST) form = MailToForm(request.POST)
@ -236,13 +227,11 @@ def misc(request):
elif 'mail_to' in request.GET: elif 'mail_to' in request.GET:
mailto = get_object_or_404(User, username=request.GET['mail_to']) mailto = get_object_or_404(User, username=request.GET['mail_to'])
form = MailToForm() form = MailToForm()
return {'form':form, return (request, 'djangobb_forum/mail_to.html', {'form':form,
'mailto': mailto, 'mailto': mailto,
'TEMPLATE': 'djangobb_forum/mail_to.html' })
}
@render_to('djangobb_forum/forum.html')
@paged('topics', forum_settings.FORUM_PAGE_SIZE) @paged('topics', forum_settings.FORUM_PAGE_SIZE)
def show_forum(request, forum_id, full=True): def show_forum(request, forum_id, full=True):
forum = get_object_or_404(Forum, pk=forum_id) forum = get_object_or_404(Forum, pk=forum_id)
@ -259,20 +248,18 @@ def show_forum(request, forum_id, full=True):
'moderator': moderator, 'moderator': moderator,
} }
if full: if full:
return to_return return render(request, 'djangobb_forum/forum.html', to_return)
else: else:
pages, paginator, paged_list_name = paginate(topics, request, forum_settings.FORUM_PAGE_SIZE) pages, paginator, paged_list_name = paginate(topics, request, forum_settings.FORUM_PAGE_SIZE)
to_return.update({'pages': pages, to_return.update({'pages': pages,
'paginator': paginator, 'paginator': paginator,
'topics': paged_list_name, 'topics': paged_list_name,
'TEMPLATE': 'djangobb_forum/lofi/forum.html'
}) })
del to_return['paged_qs'] del to_return['paged_qs']
return to_return return render(request, 'djangobb_forum/lofi/forum.html', to_return)
@transaction.commit_on_success @transaction.commit_on_success
@render_to('djangobb_forum/topic.html')
def show_topic(request, topic_id, full=True): def show_topic(request, topic_id, full=True):
topic = get_object_or_404(Topic.objects.select_related(), pk=topic_id) topic = get_object_or_404(Topic.objects.select_related(), pk=topic_id)
if not topic.forum.category.has_access(request.user): if not topic.forum.category.has_access(request.user):
@ -326,7 +313,7 @@ def show_topic(request, topic_id, full=True):
highlight_word = request.GET.get('hl', '') highlight_word = request.GET.get('hl', '')
if full: if full:
return {'categories': Category.objects.all(), return render(request, 'djangobb_forum/topic.html', {'categories': Category.objects.all(),
'topic': topic, 'topic': topic,
'last_post': last_post, 'last_post': last_post,
'form': form, 'form': form,
@ -340,20 +327,18 @@ def show_topic(request, topic_id, full=True):
'pages': paginator.num_pages, 'pages': paginator.num_pages,
'results_per_page': paginator.per_page, 'results_per_page': paginator.per_page,
'is_paginated': page_obj.has_other_pages(), 'is_paginated': page_obj.has_other_pages(),
} })
else: else:
return {'categories': Category.objects.all(), return render(request, 'djangobb_forum/lofi/topic.html', {'categories': Category.objects.all(),
'topic': topic, 'topic': topic,
'pages': paginator.num_pages, 'pages': paginator.num_pages,
'paginator': paginator, 'paginator': paginator,
'posts': posts, 'posts': posts,
'TEMPLATE': 'djangobb_forum/lofi/topic.html' })
}
@login_required @login_required
@transaction.commit_on_success @transaction.commit_on_success
@render_to('djangobb_forum/add_post.html')
def add_post(request, forum_id, topic_id): def add_post(request, forum_id, topic_id):
forum = None forum = None
topic = None topic = None
@ -385,15 +370,14 @@ def add_post(request, forum_id, topic_id):
post = form.save(); post = form.save();
return HttpResponseRedirect(post.get_absolute_url()) return HttpResponseRedirect(post.get_absolute_url())
return {'form': form, return render(request, 'djangobb_forum/add_post.html', {'form': form,
'posts': posts, 'posts': posts,
'topic': topic, 'topic': topic,
'forum': forum, 'forum': forum,
} })
@transaction.commit_on_success @transaction.commit_on_success
@render_to('djangobb_forum/user.html')
def user(request, username): def user(request, username):
user = get_object_or_404(User, username=username) user = get_object_or_404(User, username=username)
if request.user.is_authenticated() and user == request.user or request.user.is_superuser: if request.user.is_authenticated() and user == request.user or request.user.is_superuser:
@ -405,51 +389,46 @@ def user(request, username):
if request.method == 'POST' and form.is_valid(): if request.method == 'POST' and form.is_valid():
form.save() form.save()
return HttpResponseRedirect(profile_url) return HttpResponseRedirect(profile_url)
return {'active_menu':'privacy', return render(request, 'djangobb_forum/profile/profile_privacy.html', {'active_menu':'privacy',
'profile': user, 'profile': user,
'form': form, 'form': form,
'TEMPLATE': 'djangobb_forum/profile/profile_privacy.html' })
}
elif section == 'display': elif section == 'display':
form = build_form(DisplayProfileForm, request, instance=user.forum_profile) form = build_form(DisplayProfileForm, request, instance=user.forum_profile)
if request.method == 'POST' and form.is_valid(): if request.method == 'POST' and form.is_valid():
form.save() form.save()
return HttpResponseRedirect(profile_url) return HttpResponseRedirect(profile_url)
return {'active_menu':'display', return render(request, 'djangobb_forum/profile/profile_display.html', {'active_menu':'display',
'profile': user, 'profile': user,
'form': form, 'form': form,
'TEMPLATE': 'djangobb_forum/profile/profile_display.html' })
}
elif section == 'personality': elif section == 'personality':
form = build_form(PersonalityProfileForm, request, markup=user.forum_profile.markup, instance=user.forum_profile) form = build_form(PersonalityProfileForm, request, markup=user.forum_profile.markup, instance=user.forum_profile)
if request.method == 'POST' and form.is_valid(): if request.method == 'POST' and form.is_valid():
form.save() form.save()
return HttpResponseRedirect(profile_url) return HttpResponseRedirect(profile_url)
return {'active_menu':'personality', return render(request, 'djangobb_forum/profile/profile_personality.html', {'active_menu':'personality',
'profile': user, 'profile': user,
'form': form, 'form': form,
'TEMPLATE': 'djangobb_forum/profile/profile_personality.html' })
}
elif section == 'messaging': elif section == 'messaging':
form = build_form(MessagingProfileForm, request, instance=user.forum_profile) form = build_form(MessagingProfileForm, request, instance=user.forum_profile)
if request.method == 'POST' and form.is_valid(): if request.method == 'POST' and form.is_valid():
form.save() form.save()
return HttpResponseRedirect(profile_url) return HttpResponseRedirect(profile_url)
return {'active_menu':'messaging', return render(request, 'djangobb_forum/profile/profile_messaging.html', {'active_menu':'messaging',
'profile': user, 'profile': user,
'form': form, 'form': form,
'TEMPLATE': 'djangobb_forum/profile/profile_messaging.html' })
}
elif section == 'personal': elif section == 'personal':
form = build_form(PersonalProfileForm, request, instance=user.forum_profile, user=user) form = build_form(PersonalProfileForm, request, instance=user.forum_profile, user=user)
if request.method == 'POST' and form.is_valid(): if request.method == 'POST' and form.is_valid():
form.save() form.save()
return HttpResponseRedirect(profile_url) return HttpResponseRedirect(profile_url)
return {'active_menu':'personal', return render(request, 'djangobb_forum/profile/profile_personal.html', {'active_menu':'personal',
'profile': user, 'profile': user,
'form': form, 'form': form,
'TEMPLATE': 'djangobb_forum/profile/profile_personal.html' })
}
elif section == 'essentials': elif section == 'essentials':
form = build_form(EssentialsProfileForm, request, instance=user.forum_profile, form = build_form(EssentialsProfileForm, request, instance=user.forum_profile,
user_view=user, user_request=request.user) user_view=user, user_request=request.user)
@ -458,11 +437,10 @@ def user(request, username):
set_language(request, profile.language) set_language(request, profile.language)
return HttpResponseRedirect(profile_url) return HttpResponseRedirect(profile_url)
return {'active_menu':'essentials', return render(request, 'djangobb_forum/profile/profile_essentials.html', {'active_menu':'essentials',
'profile': user, 'profile': user,
'form': form, 'form': form,
'TEMPLATE': 'djangobb_forum/profile/profile_essentials.html' })
}
elif 'action' in request.GET: elif 'action' in request.GET:
action = request.GET['action'] action = request.GET['action']
@ -471,11 +449,10 @@ def user(request, username):
if request.method == 'POST' and form.is_valid(): if request.method == 'POST' and form.is_valid():
form.save() form.save()
return HttpResponseRedirect(reverse('djangobb:forum_profile', args=[user.username])) return HttpResponseRedirect(reverse('djangobb:forum_profile', args=[user.username]))
return {'form': form, return render(request, 'djangobb_forum/upload_avatar.html', {'form': form,
'avatar_width': forum_settings.AVATAR_WIDTH, 'avatar_width': forum_settings.AVATAR_WIDTH,
'avatar_height': forum_settings.AVATAR_HEIGHT, 'avatar_height': forum_settings.AVATAR_HEIGHT,
'TEMPLATE': 'djangobb_forum/upload_avatar.html' })
}
elif action == 'delete_avatar': elif action == 'delete_avatar':
profile = get_object_or_404(Profile, user=request.user) profile = get_object_or_404(Profile, user=request.user)
profile.avatar = None profile.avatar = None
@ -489,24 +466,22 @@ def user(request, username):
profile = form.save() profile = form.save()
set_language(request, profile.language) set_language(request, profile.language)
return HttpResponseRedirect(reverse('djangobb:forum_profile', args=[user.username])) return HttpResponseRedirect(reverse('djangobb:forum_profile', args=[user.username]))
return {'active_menu':'essentials', return render(request, 'djangobb_forum/profile/profile_essentials.html', {'active_menu':'essentials',
'profile': user, 'profile': user,
'form': form, 'form': form,
'TEMPLATE': 'djangobb_forum/profile/profile_essentials.html' })
}
raise Http404 raise Http404
else: else:
topic_count = Topic.objects.filter(user__id=user.id).count() topic_count = Topic.objects.filter(user__id=user.id).count()
if user.forum_profile.post_count < forum_settings.POST_USER_SEARCH and not request.user.is_authenticated(): if user.forum_profile.post_count < forum_settings.POST_USER_SEARCH and not request.user.is_authenticated():
return HttpResponseRedirect(reverse('user_signin') + '?next=%s' % request.path) return HttpResponseRedirect(reverse('user_signin') + '?next=%s' % request.path)
return {'profile': user, return render(request, 'djangobb_forum/user.html', {'profile': user,
'topic_count': topic_count, 'topic_count': topic_count,
} })
@login_required @login_required
@transaction.commit_on_success @transaction.commit_on_success
@render_to('djangobb_forum/reputation.html')
def reputation(request, username): def reputation(request, username):
user = get_object_or_404(User, username=username) user = get_object_or_404(User, username=username)
form = build_form(ReputationForm, request, from_user=request.user, to_user=user) form = build_form(ReputationForm, request, from_user=request.user, to_user=user)
@ -522,9 +497,7 @@ def reputation(request, username):
form.fields['sign'].initial = 1 form.fields['sign'].initial = 1
elif request.GET['action'] == 'minus': elif request.GET['action'] == 'minus':
form.fields['sign'].initial = -1 form.fields['sign'].initial = -1
return {'form': form, return render(request, 'djangobb_forum/reputation_form.html', {'form': form})
'TEMPLATE': 'djangobb_forum/reputation_form.html'
}
else: else:
raise Http404 raise Http404
@ -541,14 +514,12 @@ def reputation(request, username):
post = get_object_or_404(Post, id=post_id) post = get_object_or_404(Post, id=post_id)
return HttpResponseRedirect(post.get_absolute_url()) return HttpResponseRedirect(post.get_absolute_url())
else: else:
return {'form': form, return render(request, 'djangobb_forum/reputation_form.html', {'form': form})
'TEMPLATE': 'djangobb_forum/reputation_form.html'
}
else: else:
reputations = Reputation.objects.filter(to_user__id=user.id).order_by('-time').select_related() reputations = Reputation.objects.filter(to_user__id=user.id).order_by('-time').select_related()
return {'reputations': reputations, return render(request, 'djangobb_forum/reputation.html', {'reputations': reputations,
'profile': user.forum_profile, 'profile': user.forum_profile,
} })
def show_post(request, post_id): def show_post(request, post_id):
@ -561,7 +532,6 @@ def show_post(request, post_id):
@login_required @login_required
@transaction.commit_on_success @transaction.commit_on_success
@render_to('djangobb_forum/edit_post.html')
def edit_post(request, post_id): def edit_post(request, post_id):
from djangobb_forum.templatetags.forum_extras import forum_editable_by from djangobb_forum.templatetags.forum_extras import forum_editable_by
@ -576,14 +546,13 @@ def edit_post(request, post_id):
post.save() post.save()
return HttpResponseRedirect(post.get_absolute_url()) return HttpResponseRedirect(post.get_absolute_url())
return {'form': form, return render(request, 'djangobb_forum/edit_post.html', {'form': form,
'post': post, 'post': post,
} })
@login_required @login_required
@transaction.commit_on_success @transaction.commit_on_success
@render_to('djangobb_forum/delete_posts.html')
@paged('posts', forum_settings.TOPIC_PAGE_SIZE) @paged('posts', forum_settings.TOPIC_PAGE_SIZE)
def delete_posts(request, topic_id): def delete_posts(request, topic_id):
@ -623,19 +592,18 @@ def delete_posts(request, topic_id):
subscribed = True subscribed = True
else: else:
subscribed = False subscribed = False
return { return render(request, 'djangobb_forum/delete_posts.html', {
'topic': topic, 'topic': topic,
'last_post': last_post, 'last_post': last_post,
'form': form, 'form': form,
'moderator': moderator, 'moderator': moderator,
'subscribed': subscribed, 'subscribed': subscribed,
'paged_qs': posts, 'paged_qs': posts,
} })
@login_required @login_required
@transaction.commit_on_success @transaction.commit_on_success
@render_to('djangobb_forum/move_topic.html')
def move_topic(request): def move_topic(request):
if 'topic_id' in request.GET: if 'topic_id' in request.GET:
#if move only 1 topic #if move only 1 topic
@ -666,10 +634,10 @@ def move_topic(request):
from_forum.save() from_forum.save()
return HttpResponseRedirect(to_forum.get_absolute_url()) return HttpResponseRedirect(to_forum.get_absolute_url())
return {'categories': Category.objects.all(), return render(request, 'djangobb_forum/move_topic.html', {'categories': Category.objects.all(),
'topic_ids': topic_ids, 'topic_ids': topic_ids,
'exclude_forum': from_forum, 'exclude_forum': from_forum,
} })
@login_required @login_required
@ -688,7 +656,6 @@ def stick_unstick_topic(request, topic_id, action):
@login_required @login_required
@transaction.commit_on_success @transaction.commit_on_success
@render_to('djangobb_forum/delete_post.html')
def delete_post(request, post_id): def delete_post(request, post_id):
post = get_object_or_404(Post, pk=post_id) post = get_object_or_404(Post, pk=post_id)
last_post = post.topic.last_post last_post = post.topic.last_post
@ -729,15 +696,14 @@ def open_close_topic(request, topic_id, action):
return HttpResponseRedirect(topic.get_absolute_url()) return HttpResponseRedirect(topic.get_absolute_url())
@render_to('djangobb_forum/users.html')
@paged('users', forum_settings.USERS_PAGE_SIZE) @paged('users', forum_settings.USERS_PAGE_SIZE)
def users(request): def users(request):
users = User.objects.filter(forum_profile__post_count__gte=forum_settings.POST_USER_SEARCH).order_by('username') users = User.objects.filter(forum_profile__post_count__gte=forum_settings.POST_USER_SEARCH).order_by('username')
form = UserSearchForm(request.GET) form = UserSearchForm(request.GET)
users = form.filter(users) users = form.filter(users)
return {'paged_qs': users, return render(request, 'djangobb_forum/users.html', {'paged_qs': users,
'form': form, 'form': form,
} })
@login_required @login_required
@ -770,7 +736,6 @@ def show_attachment(request, hash):
@login_required @login_required
@csrf_exempt @csrf_exempt
@render_to('djangobb_forum/post_preview.html')
def post_preview(request): def post_preview(request):
'''Preview for markitup''' '''Preview for markitup'''
markup = request.user.forum_profile.markup markup = request.user.forum_profile.markup
@ -779,4 +744,4 @@ def post_preview(request):
data = convert_text_to_html(data, markup) data = convert_text_to_html(data, markup)
if forum_settings.SMILES_SUPPORT: if forum_settings.SMILES_SUPPORT:
data = smiles(data) data = smiles(data)
return {'data': data} return render(request, 'djangobb_forum/post_preview.html', {'data': data})