from django.shortcuts import render as djrender
from django.db.models import Q
from mpl.models import *
from mysrc.ajax import register_ajax


def render(request, template, dic):
    dic['ajax'] = 'mpl'
    if request.user.is_authenticated:
        dic['ajax'] = 'mpl'
        dic['cookie'] = 'yum'
    return djrender(request, template, dic)


def home(request):
    return render(
        request,
        'mpl/home.html',
        {'graphs': Graph.objects.all(), 'tips': Tip.objects.all()},
    )


def graphs(request):
    graphs = Graph.objects.all()
    if 'term' in request.GET:
        term = request.GET['term']
        graphs = graphs.filter(Q(code__contains=term) | Q(description__contains=term))

    return render(request, 'mpl/graphs.html', dict(graphs=graphs))


def graph(request, id):
    g = Graph.objects.get(id=id)
    return render(request, 'mpl/graph.html', {'graph': g})


def tips(request):
    tips = Tip.objects.all()
    if 'term' in request.GET:
        term = request.GET['term']
        tips = tips.filter(Q(name__contains=term) | Q(description__contains=term))

    return render(request, 'mpl/tips.html', {'tips': tips})


def tip(request, id):
    return render(request, 'mpl/tip.html', {'tip': Tip.objects.get(id=id)})


@register_ajax()
def description(request, args):
    tip = Tip.objects.get(id=args['id'])
    return dict(description=tip.md_description)
