summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdolfo Fitoria <adolfo.fitoria@gmail.com>2011-10-07 17:18:21 -0300
committerAdolfo Fitoria <adolfo.fitoria@gmail.com>2011-10-07 17:18:21 -0300
commitcc4bdf3d3338a65ff204e92f9a8d656fa4229d27 (patch)
tree893c86792918cf13dae4d5181894e4b145017d92
parent713d5532da15879f3d2f5fb78a4486e4b1e80e71 (diff)
downloadaskbot-cc4bdf3d3338a65ff204e92f9a8d656fa4229d27.tar.gz
askbot-cc4bdf3d3338a65ff204e92f9a8d656fa4229d27.tar.bz2
askbot-cc4bdf3d3338a65ff204e92f9a8d656fa4229d27.zip
reading all questions at once
-rw-r--r--askbot/middleware/view_log.py4
-rw-r--r--askbot/skins/default/templates/main_page/javascript.html13
-rw-r--r--askbot/views/readers.py16
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}