Commit 51772c04 by Rocky Duan

use separate templates for forum view and inline view

parent 777c3ee4
...@@ -29,7 +29,7 @@ def render_accordion(request, course, discussion_id): ...@@ -29,7 +29,7 @@ def render_accordion(request, course, discussion_id):
return render_to_string('discussion/accordion.html', context) 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 = { context = {
'threads': threads, 'threads': threads,
'discussion_id': discussion_id, 'discussion_id': discussion_id,
...@@ -40,11 +40,17 @@ def render_discussion(request, course_id, threads, discussion_id=None, with_sear ...@@ -40,11 +40,17 @@ def render_discussion(request, course_id, threads, discussion_id=None, with_sear
'course_id': course_id, 'course_id': course_id,
'request': request, '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): def inline_discussion(request, course_id, discussion_id):
threads = comment_client.get_threads(discussion_id, recursive=False) 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") return HttpResponse(html, content_type="text/plain")
def render_search_bar(request, course_id, discussion_id=None, text=''): def render_search_bar(request, course_id, discussion_id=None, text=''):
...@@ -71,7 +77,7 @@ def forum_form_discussion(request, course_id, discussion_id): ...@@ -71,7 +77,7 @@ def forum_form_discussion(request, course_id, discussion_id):
context = { context = {
'csrf': csrf(request)['csrf_token'], 'csrf': csrf(request)['csrf_token'],
'course': course, '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), 'accordion': render_accordion(request, course, discussion_id),
} }
...@@ -133,7 +139,7 @@ def search(request, course_id): ...@@ -133,7 +139,7 @@ def search(request, course_id):
context = { context = {
'csrf': csrf(request)['csrf_token'], 'csrf': csrf(request)['csrf_token'],
'init': '', 'init': '',
'content': render_discussion(request, course_id, threads, search_text=text), 'content': render_forum_discussion(request, course_id, threads, search_text=text),
'accordion': '', 'accordion': '',
'course': course, 'course': course,
} }
......
<%namespace name="renderer" file="thread.html"/>
<section class="discussion" _id="${discussion_id}">
<div class="discussion-non-content">
<div class="discussion-title-wrapper">
<a class="discussion-title" href="javascript:void(0)">Discussion</a>
</div>
${search_bar}
<div class="discussion-new-post control-button" href="javascript:void(0)">New Post</div>
</div>
% for thread in threads:
${renderer.render_thread(course_id, thread, edit_thread=False, show_comments=False)}
% endfor
</section>
<%!
def escape_quotes(text):
return text.replace('\"', '\\\"').replace("\'", "\\\'")
%>
<script type="text/javascript">
var $$user_info = JSON.parse('${user_info | escape_quotes}');
var $$course_id = "${course_id}";
var $$tags = JSON.parse("${tags | escape_quotes}");
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment