From 51772c04f31b52f3780b3f8d060b02de9e892b3c Mon Sep 17 00:00:00 2001 From: Rocky Duan Date: Wed, 1 Aug 2012 13:02:57 -0400 Subject: [PATCH] use separate templates for forum view and inline view --- .../django_comment_client/forum/views.py | 16 ++++++++---- lms/templates/discussion/forum.html | 25 +++++++++++++++++++ 2 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 lms/templates/discussion/forum.html diff --git a/lms/djangoapps/django_comment_client/forum/views.py b/lms/djangoapps/django_comment_client/forum/views.py index a8608e0dad..5d54e95701 100644 --- a/lms/djangoapps/django_comment_client/forum/views.py +++ b/lms/djangoapps/django_comment_client/forum/views.py @@ -29,7 +29,7 @@ def render_accordion(request, course, discussion_id): return render_to_string('discussion/accordion.html', context) -def render_discussion(request, course_id, threads, discussion_id=None, with_search_bar=True, search_text=''): +def render_discussion(request, course_id, threads, discussion_id=None, with_search_bar=True, search_text='', template='discussion/inline.html'): context = { 'threads': threads, 'discussion_id': discussion_id, @@ -40,11 +40,17 @@ def render_discussion(request, course_id, threads, discussion_id=None, with_sear 'course_id': course_id, 'request': request, } - return render_to_string('discussion/inline.html', context) + return render_to_string(template, context) + +def render_inline_discussion(*args, **kwargs): + return render_discussion(template='discussion/inline.html', *args, **kwargs) + +def render_forum_discussion(*args, **kwargs): + return render_discussion(template='discussion/forum.html', *args, **kwargs) def inline_discussion(request, course_id, discussion_id): threads = comment_client.get_threads(discussion_id, recursive=False) - html = render_discussion(request, course_id, threads, discussion_id=discussion_id) + html = render_inline_discussion(request, course_id, threads, discussion_id=discussion_id) return HttpResponse(html, content_type="text/plain") def render_search_bar(request, course_id, discussion_id=None, text=''): @@ -71,7 +77,7 @@ def forum_form_discussion(request, course_id, discussion_id): context = { 'csrf': csrf(request)['csrf_token'], 'course': course, - 'content': render_discussion(request, course_id, threads, discussion_id=discussion_id, search_text=search_text), + 'content': render_forum_discussion(request, course_id, threads, discussion_id=discussion_id, search_text=search_text), 'accordion': render_accordion(request, course, discussion_id), } @@ -133,7 +139,7 @@ def search(request, course_id): context = { 'csrf': csrf(request)['csrf_token'], 'init': '', - 'content': render_discussion(request, course_id, threads, search_text=text), + 'content': render_forum_discussion(request, course_id, threads, search_text=text), 'accordion': '', 'course': course, } diff --git a/lms/templates/discussion/forum.html b/lms/templates/discussion/forum.html new file mode 100644 index 0000000000..074c956cbd --- /dev/null +++ b/lms/templates/discussion/forum.html @@ -0,0 +1,25 @@ +<%namespace name="renderer" file="thread.html"/> + +
+
+ + ${search_bar} +
New Post
+
+ % for thread in threads: + ${renderer.render_thread(course_id, thread, edit_thread=False, show_comments=False)} + % endfor +
+ +<%! + def escape_quotes(text): + return text.replace('\"', '\\\"').replace("\'", "\\\'") +%> + +