def prf_home(request): latest, more_latest = get_first_elements_check_more(get_latest_mathitems(ItemTypes.PRF), 5) no_vals, more_no_vals = get_first_elements_check_more(get_latest_mathitems(ItemTypes.PRF, no_vals=True), 5) return render(request, 'mathitems/proofs-home.html', { 'title': 'Proofs', 'latest': prepare_item_view_list(latest), 'no_vals': prepare_item_view_list(no_vals), 'latest_link': more_latest and reverse('prf-list'), 'no_vals_link': more_no_vals and reverse('prf-no-vals'), })
def def_home(request): latest, more_latest = get_first_elements_check_more(get_latest_mathitems(ItemTypes.DEF), 5) no_vals, more_no_vals = get_first_elements_check_more(get_latest_mathitems(ItemTypes.DEF, no_vals=True), 1) return render(request, 'mathitems/definitions-home.html', { 'title': 'Definitions', 'latest': prepare_item_view_list(latest), 'no_vals': prepare_item_view_list(no_vals), 'no_defs': Concept.objects.filter(conceptmeta__def_count=0, conceptmeta__ref_count__gt=0) .order_by('-conceptmeta__ref_count', 'name'), 'latest_link': more_latest and reverse('def-list'), 'no_vals_link': more_no_vals and reverse('def-no-vals'), })
def thm_home(request): latest, more_latest = get_first_elements_check_more(get_latest_mathitems(ItemTypes.THM), 5) wo_proof, more_wo_proof = get_first_elements_check_more(get_latest_mathitems(ItemTypes.THM, no_proofs=True), 5) no_vals, more_no_vals = get_first_elements_check_more(get_latest_mathitems(ItemTypes.THM, no_vals=True), 5) return render(request, 'mathitems/theorems-home.html', { 'title': 'Theorems', 'latest': prepare_item_view_list(latest), 'wo_proof': prepare_item_view_list(wo_proof), 'no_vals': prepare_item_view_list(no_vals), 'latest_link': more_latest and reverse('thm-list'), 'wo_proof_link': more_wo_proof and reverse('thm-wo-proof'), 'no_vals_link': more_no_vals and reverse('thm-no-vals'), })
def show_concept(request, name): items = MathItem.objects.filter(conceptdefinition__concept__name=name).order_by('id') return render(request, 'concepts/show.html', { 'title': name, 'concept_name': name, 'items': prepare_item_view_list(items), })
def item_home(request, item_type, new_draft_url=None): name = ItemTypes.NAMES[item_type] context = { 'title': pluralize(name), 'items': prepare_item_view_list(MathItem.objects.filter(item_type=item_type).order_by('-created_at')), } if new_draft_url: context.update(new_name='New ' + name, new_url=new_draft_url) return render(request, 'mathitems/item-home.html', context)
def item_list_page(request, title, query): try: paginator = QuerySetPaginator(request, query, LIST_PAGE_SIZE) except PaginatorError as pe: return redirect(pe.url) return render(request, 'mathitems/item-list-page.html', { 'title': title, 'items': prepare_item_view_list(paginator.get_items()), 'paginator': paginator })
def item_search_helper(request, type_name): query = request.GET['q'] try: paginator = Paginator(request, LIST_PAGE_SIZE) results, total = item_search(query, type_name, paginator.per_page * (paginator.page - 1), paginator.per_page) paginator.set_count(total) except PaginatorError as pe: return redirect(pe.url) name = type_name.capitalize() return render(request, 'mathitems/item-search-page.html', { 'title': '{} Search'.format(name), 'query': query, 'items': prepare_item_view_list(MathItem.objects.get_by_name(name) for name in results), 'paginator': paginator })
def home(request): media_count = Media.objects.count() context = { 'latest': prepare_item_view_list(MathItem.objects.order_by('-created_at')[:1]), 'def_count': MathItem.objects.filter(item_type=ItemTypes.DEF).count(), 'thm_count': MathItem.objects.filter(item_type=ItemTypes.THM).count(), 'prf_count': MathItem.objects.filter(item_type=ItemTypes.PRF).count(), 'media_count': media_count, 'concept_count': ConceptMeta.objects.filter(def_count__gt=0).count(), 'eqn_count': Equation.objects.count(), 'val_count': ItemValidation.objects.count(), 'src_count': Source.objects.count(), 'user_count': get_user_model().objects.filter(is_active=True).count() } if media_count: context['featured_media'] = Media.objects.all()[random.randrange(0, media_count)] return render(request, 'main/home.html', context)
def home(request): return render(request, 'main/home.html', { 'items': prepare_item_view_list(MathItem.objects.order_by('-created_at')[:10]) })