Ejemplo n.º 1
0
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'),
    })
Ejemplo n.º 2
0
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'),
    })
Ejemplo n.º 3
0
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'),
    })
Ejemplo n.º 4
0
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),
    })
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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
    })
Ejemplo n.º 7
0
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
    })
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
def home(request):
    return render(request, 'main/home.html', {
        'items': prepare_item_view_list(MathItem.objects.order_by('-created_at')[:10])
    })