def document_detail_view(request, node, thread): """ Detail of library Document """ document = thread.get_document() main_post = thread._main_post() to_tmpl = { "node": thread.node, "document": document, "file_size": None, "main_post": main_post, "module": const.NODE_MODULE_LIBRARY, 'similar_threads': thread.get_similar_threads(), "thread": thread, } if document and document.latest_revision: to_tmpl.update({ "file_size": document.latest_revision.get_size() }) # count visit for thread count_visit(request, thread, main_post) # at the end we call thread.visit, we dont need celery for this # operate with ThreadView thread.visit(request.user) if document and document.latest_revision: try: page_no = int(request.GET.get("page", 1)) except ValueError: page_no = 1 page_qs = document.get_pages(page_no) if page_qs.exists(): page = page_qs[0] else: page = None to_tmpl.update({ "page": page, "pages_numbers": document.latest_revision.pages.values_list("number", flat=True) }) return render_into_skin("node/document/detail.html", to_tmpl, request)
def document_detail_view(request, node, thread): """ Detail of library Document """ document = thread.get_document() main_post = thread._main_post() to_tmpl = { "node": thread.node, "document": document, "file_size": None, "main_post": main_post, "module": const.NODE_MODULE_LIBRARY, 'similar_threads': thread.get_similar_threads(), "thread": thread, } if document and document.latest_revision: to_tmpl.update({"file_size": document.latest_revision.get_size()}) # count visit for thread count_visit(request, thread, main_post) # at the end we call thread.visit, we dont need celery for this # operate with ThreadView thread.visit(request.user) if document and document.latest_revision: try: page_no = int(request.GET.get("page", 1)) except ValueError: page_no = 1 page_qs = document.get_pages(page_no) if page_qs.exists(): page = page_qs[0] else: page = None to_tmpl.update({ "page": page, "pages_numbers": document.latest_revision.pages.values_list("number", flat=True) }) return render_into_skin("node/document/detail.html", to_tmpl, request)
if thread.is_question(): per_page = maxint else: per_page = const.ANSWERS_PAGE_SIZE # define posts position on paginator pages posts_per_pages = {} for i, post in enumerate(answers): posts_per_pages[post.pk] = 1 + (i // per_page) objects_list = Paginator(answers, per_page) if show_page > objects_list.num_pages: return HttpResponseRedirect(main_post.get_absolute_url()) page_objects = objects_list.page(show_page) count_visit(request, thread, main_post) base_url = request.path + '?sort=%s&' % answer_sort_method if authors: base_url = "%sauthors=%s&" % ( base_url, ",".join([str(pk) for pk in authors.values_list("pk", flat=True)]) ) paginator_data = { 'is_paginated': (objects_list.count > per_page), 'pages': objects_list.num_pages, 'page': show_page, 'has_previous': page_objects.has_previous(), 'has_next': page_objects.has_next(), 'previous': page_objects.previous_page_number(),
if thread.is_question(): per_page = maxint else: per_page = const.ANSWERS_PAGE_SIZE # define posts position on paginator pages posts_per_pages = {} for i, post in enumerate(answers): posts_per_pages[post.pk] = 1 + (i // per_page) objects_list = Paginator(answers, per_page) if show_page > objects_list.num_pages: return HttpResponseRedirect(main_post.get_absolute_url()) page_objects = objects_list.page(show_page) count_visit(request, thread, main_post) base_url = request.path + '?sort=%s&' % answer_sort_method if authors: base_url = "%sauthors=%s&" % (base_url, ",".join( [str(pk) for pk in authors.values_list("pk", flat=True)])) paginator_data = { 'is_paginated': (objects_list.count > per_page), 'pages': objects_list.num_pages, 'page': show_page, 'has_previous': page_objects.has_previous(), 'has_next': page_objects.has_next(), 'previous': page_objects.previous_page_number(), 'next': page_objects.next_page_number(), 'base_url': base_url,