From 522dee8c232d27c7944ec6eac89bc014cc18f2fe Mon Sep 17 00:00:00 2001 From: Adolfo Fitoria Date: Tue, 18 Oct 2011 11:57:42 -0300 Subject: temporal commit buggy --- askbot/skins/common/media/js/live_search.js | 5 + .../templates/main_page/ajax_questions.html | 11 +++ askbot/views/readers.py | 106 ++++----------------- 3 files changed, 37 insertions(+), 85 deletions(-) create mode 100644 askbot/skins/default/templates/main_page/ajax_questions.html 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 = $('
').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 #} +
+ {% trans %}Did not find what you were looking for?{% endtrans %} + {% trans %}Please, post your question!{% endtrans %} +
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} -- cgit v1.2.3-1-g7c22