summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdolfo Fitoria <adolfo.fitoria@gmail.com>2011-10-18 11:57:42 -0300
committerAdolfo Fitoria <adolfo.fitoria@gmail.com>2011-10-18 11:57:42 -0300
commit522dee8c232d27c7944ec6eac89bc014cc18f2fe (patch)
tree35b86e7109c8a4d85d78f6bc81cb6cedf7265d11
parent6ae07b9ac44f2433596f3f2fb631d61b2323fee2 (diff)
downloadaskbot-522dee8c232d27c7944ec6eac89bc014cc18f2fe.tar.gz
askbot-522dee8c232d27c7944ec6eac89bc014cc18f2fe.tar.bz2
askbot-522dee8c232d27c7944ec6eac89bc014cc18f2fe.zip
temporal commit buggy
-rw-r--r--askbot/skins/common/media/js/live_search.js5
-rw-r--r--askbot/skins/default/templates/main_page/ajax_questions.html11
-rw-r--r--askbot/views/readers.py106
3 files changed, 37 insertions, 85 deletions
diff --git a/askbot/skins/common/media/js/live_search.js b/askbot/skins/common/media/js/live_search.js
index 18ad8b78..cf56328f 100644
--- a/askbot/skins/common/media/js/live_search.js
+++ b/askbot/skins/common/media/js/live_search.js
@@ -427,6 +427,9 @@ var liveSearch = function(){
};
var render_main_page_result = function(data, text_status, xhr){
+ var start_date = new Date();
+ var epoc_time = start_date.getTime();
+ console.debug(epoc_time);
var old_list = $('#' + q_list_sel);
var new_list = $('<div></div>').hide();
if (data['questions'].length > 0){
@@ -453,6 +456,8 @@ var liveSearch = function(){
new_list.fadeIn(400);
});
}
+ var end_date = new Date();
+ console.debug(end_date.getTime() - epoc_time);
}
var try_again = function(){
diff --git a/askbot/skins/default/templates/main_page/ajax_questions.html b/askbot/skins/default/templates/main_page/ajax_questions.html
new file mode 100644
index 00000000..d00ed19f
--- /dev/null
+++ b/askbot/skins/default/templates/main_page/ajax_questions.html
@@ -0,0 +1,11 @@
+{% import "macros.html" as macros %}
+{% cache 0 "questions" questions search_tags scope sort query context.page context.page_size language_code %}
+ {% for question in questions.object_list %}
+ {{macros.question_summary(question)}}
+ {% endfor %}
+{% endcache %}
+{# comment todo: fix css here #}
+<div class="evenMore">
+ {% trans %}Did not find what you were looking for?{% endtrans %}
+ <a href="{% url ask %}">{% trans %}Please, post your question!{% endtrans %}</a>
+</div>
diff --git a/askbot/views/readers.py b/askbot/views/readers.py
index 0f479332..92addc29 100644
--- a/askbot/views/readers.py
+++ b/askbot/views/readers.py
@@ -95,13 +95,13 @@ def questions(request):
)
tag_list_type = askbot_settings.TAG_LIST_FORMAT
-
+
#force cloud to sort by name
if tag_list_type == 'cloud':
related_tags = sorted(related_tags, key = operator.attrgetter('name'))
font_size = extra_tags.get_tag_font_size(related_tags)
-
+
paginator = Paginator(qs, search_state.page_size)
if paginator.num_pages < search_state.page:
@@ -178,7 +178,7 @@ def questions(request):
'%(badge_count)d %(badge_level)s badges',
count
) % {
- 'badge_count': count,
+ 'badge_count': count,
'badge_level': badge_levels[level]
}
@@ -195,78 +195,13 @@ def questions(request):
for contributor in contributors:
ajax_data['faces'].append(extra_tags.gravatar(contributor, 48))
-
- for question in page.object_list:
- timestamp = question.last_activity_at
- author = question.last_activity_by
-
- if question.score == 0:
- votes_class = 'no-votes'
- else:
- votes_class = 'some-votes'
-
- if question.answer_count == 0:
- answers_class = 'no-answers'
- elif question.answer_accepted:
- answers_class = 'accepted'
- else:
- answers_class = 'some-answers'
-
- if question.view_count == 0:
- views_class = 'no-views'
- else:
- views_class = 'some-views'
-
- country_code = None
- if author.country and author.show_country:
- country_code = author.country.code
-
- question_data = {
- 'title': question.title,
- 'id': question.id,
- 'tags': question.get_tag_names(),
- 'tag_list_type': tag_list_type,
- 'font_size': font_size,
- 'votes': extra_filters.humanize_counter(question.score),
- 'votes_class': votes_class,
- 'votes_word': ungettext('vote', 'votes', question.score),
- 'answers': extra_filters.humanize_counter(question.answer_count),
- 'answers_class': answers_class,
- 'answers_word': ungettext('answer', 'answers', question.answer_count),
- 'views': extra_filters.humanize_counter(question.view_count),
- 'views_class': views_class,
- 'views_word': ungettext('view', 'views', question.view_count),
- 'timestamp': unicode(timestamp),
- 'timesince': functions.diff_date(timestamp),
- 'u_id': author.id,
- 'u_name': author.username,
- 'u_rep': author.reputation,
- 'u_gold': author.gold,
- 'u_gold_title': pluralize_badge_count(
- author.gold,
- const.GOLD_BADGE
- ),
- 'u_gold_badge_symbol': const.BADGE_DISPLAY_SYMBOL,
- 'u_gold_css_class': gold_badge_css_class,
- 'u_silver': author.silver,
- 'u_silver_title': pluralize_badge_count(
- author.silver,
- const.SILVER_BADGE
- ),
- 'u_silver_badge_symbol': const.BADGE_DISPLAY_SYMBOL,
- 'u_silver_css_class': silver_badge_css_class,
- 'u_bronze': author.bronze,
- 'u_bronze_title': pluralize_badge_count(
- author.bronze,
- const.BRONZE_BADGE
- ),
- 'u_bronze_badge_symbol': const.BADGE_DISPLAY_SYMBOL,
- 'u_bronze_css_class': bronze_badge_css_class,
- 'u_country_code': country_code,
- 'u_is_anonymous': question.is_anonymous,
- }
- ajax_data['questions'].append(question_data)
-
+ import time
+ start_time = time.time()
+ #we render the template
+ #from django.template import RequestContext
+ partial_template = render_into_skin('main_page/ajax_questions.html', {'questions': page}, request)
+ ajax_data['rendered_questions'] = partial_template
+ print time.time() - start_time
return HttpResponse(
simplejson.dumps(ajax_data),
mimetype = 'application/json'
@@ -287,7 +222,7 @@ def questions(request):
'context' : paginator_context,
'is_unanswered' : False,#remove this from template
'interesting_tag_names': meta_data.get('interesting_tag_names',None),
- 'ignored_tag_names': meta_data.get('ignored_tag_names',None),
+ 'ignored_tag_names': meta_data.get('ignored_tag_names',None),
'language_code': translation.get_language(),
'name_of_anonymous_user' : models.get_name_of_anonymous_user(),
'page_class': 'main-page',
@@ -319,7 +254,7 @@ def questions(request):
def tags(request):#view showing a listing of available tags - plain list
tag_list_type = askbot_settings.TAG_LIST_FORMAT
-
+
if tag_list_type == 'list':
stag = ""
@@ -368,15 +303,15 @@ def tags(request):#view showing a listing of available tags - plain list
'active_tab': 'tags',
'page_class': 'tags-page',
'tags' : tags,
- 'tag_list_type' : tag_list_type,
+ 'tag_list_type' : tag_list_type,
'stag' : stag,
'tab_id' : sortby,
'keywords' : stag,
'paginator_context' : paginator_context
}
-
+
else:
-
+
stag = ""
sortby = request.GET.get('sort', 'name')
@@ -396,18 +331,18 @@ def tags(request):#view showing a listing of available tags - plain list
'active_tab': 'tags',
'page_class': 'tags-page',
'tags' : tags,
- 'tag_list_type' : tag_list_type,
+ 'tag_list_type' : tag_list_type,
'font_size' : font_size,
'stag' : stag,
'tab_id' : sortby,
'keywords' : stag,
}
-
+
return render_into_skin('tags.html', data, request)
@csrf.csrf_protect
def question(request, id):#refactor - long subroutine. display question body, answers and comments
- """view that displays body of the question and
+ """view that displays body of the question and
all answers to it
"""
#todo: fix inheritance of sort method from questions
@@ -534,7 +469,7 @@ def question(request, id):#refactor - long subroutine. display question body, an
if updated_who != request.user:
if last_seen:
if last_seen < updated_when:
- update_view_count = True
+ update_view_count = True
else:
update_view_count = True
@@ -551,7 +486,7 @@ def question(request, id):#refactor - long subroutine. display question body, an
request.user.visit_question(question)
#3) send award badges signal for any badges
- #that are awarded for question views
+ #that are awarded for question views
award_badges_signal.send(None,
event = 'view_question',
actor = request.user,
@@ -649,3 +584,4 @@ def get_question_body(request):
questions_dict['question-%s' % question.id] = question.summary
return {'questions-titles': questions_dict}
+ return {'questions-titles': questions_dict}