diff options
author | Adolfo Fitoria <adolfo.fitoria@gmail.com> | 2011-10-07 17:18:21 -0300 |
---|---|---|
committer | Adolfo Fitoria <adolfo.fitoria@gmail.com> | 2011-10-07 17:18:21 -0300 |
commit | cc4bdf3d3338a65ff204e92f9a8d656fa4229d27 (patch) | |
tree | 893c86792918cf13dae4d5181894e4b145017d92 | |
parent | 713d5532da15879f3d2f5fb78a4486e4b1e80e71 (diff) | |
download | askbot-cc4bdf3d3338a65ff204e92f9a8d656fa4229d27.tar.gz askbot-cc4bdf3d3338a65ff204e92f9a8d656fa4229d27.tar.bz2 askbot-cc4bdf3d3338a65ff204e92f9a8d656fa4229d27.zip |
reading all questions at once
-rw-r--r-- | askbot/middleware/view_log.py | 4 | ||||
-rw-r--r-- | askbot/skins/default/templates/main_page/javascript.html | 13 | ||||
-rw-r--r-- | askbot/views/readers.py | 16 |
3 files changed, 21 insertions, 12 deletions
diff --git a/askbot/middleware/view_log.py b/askbot/middleware/view_log.py index a1a32010..0880ae1b 100644 --- a/askbot/middleware/view_log.py +++ b/askbot/middleware/view_log.py @@ -12,7 +12,7 @@ from askbot.models import signals from askbot.views.readers import questions as questions_view from askbot.views.commands import vote, get_tag_list from askbot.views.writers import delete_comment, post_comments, retag_question -from askbot.views.readers import revisions +from askbot.views.readers import revisions, get_question_body from askbot.views.meta import media from askbot.search.state_manager import ViewLog @@ -21,7 +21,7 @@ from askbot.search.state_manager import ViewLog IGNORED_VIEWS = ( serve, vote, media, delete_comment, post_comments, retag_question, revisions, javascript_catalog, - get_tag_list + get_tag_list, get_question_body ) diff --git a/askbot/skins/default/templates/main_page/javascript.html b/askbot/skins/default/templates/main_page/javascript.html index c42ac5f7..c46406d9 100644 --- a/askbot/skins/default/templates/main_page/javascript.html +++ b/askbot/skins/default/templates/main_page/javascript.html @@ -29,15 +29,16 @@ function load_question_body(element, question_id){ var key = 'question-' + question_id; - if (askbot['data'][key] == null){ - $.getJSON('{% url get_question_body %}?id=' + question_id, function(data){ - element.title = data.text; - askbot['data'][key] = data.text; + if (askbot['data']['questions-titles'] == null){ + $.getJSON('{% url get_question_body %}', function(data){ + askbot['data']['questions-titles'] = data['questions-titles']; + element.title = askbot['data']['questions-titles'][key];//repeated due to async }); - } else{ - element.title = askbot['data'][key]; + } else { + element.title = askbot['data']['questions-titles'][key]; } } + askbot['urls']['mark_interesting_tag'] = scriptUrl + '{% url mark_interesting_tag %}'; askbot['urls']['mark_ignored_tag'] = scriptUrl + '{% url mark_ignored_tag %}'; askbot['urls']['unmark_tag'] = scriptUrl + '{% url unmark_tag %}'; diff --git a/askbot/views/readers.py b/askbot/views/readers.py index 8e4dff95..421dfbc3 100644 --- a/askbot/views/readers.py +++ b/askbot/views/readers.py @@ -638,7 +638,15 @@ def get_comment(request): @ajax_only @get_only def get_question_body(request): - from jinja2 import escape - id = int(request.GET['id']) - question = models.Question.objects.get(id = id) - return {'text': escape(question.summary)} + search_state = request.session.get('search_state', SearchState()) + view_log = request.session['view_log'] + (qs, meta_data, related_tags) = models.Question.objects.run_advanced_search( + request_user = request.user, + search_state = search_state) + paginator = Paginator(qs, search_state.page_size) + page = paginator.page(search_state.page) + questions_dict = {} + for id, summary in page.object_list.values_list('id', 'summary'): + questions_dict['question-%s' % id] = summary + + return {'questions-titles': questions_dict} |