from django.shortcuts import render_to_response
from django.template import RequestContext
from jrnl.models import Entry
from locations.models import Country, Region, Route
from projects.shortcuts import render_to_geojson


def map_list(request):
    context = {
        'object_list': Entry.objects.filter(status__exact=1),
        'country_list': Country.objects.filter(visited=True).exclude(name='default'),
        'route_list': Route.objects.all(),
        'region_list': Region.objects.all()
    }
    return render_to_response(
        'archives/map.html',
        context,
        context_instance=RequestContext(request)
    )


def map_data(request):
    context = {
        'object_list': Entry.objects.filter(status__exact=1),
        'route_list': Route.objects.all(),
        'country_list': Country.objects.filter(visited=True).exclude(name='default'),
        'region_list': Region.objects.all()
    }
    return render_to_response(
        'archives/map_data.html',
        context,
        context_instance=RequestContext(request)
    )


def data_json(request, id):
    qs = Route.objects.filter(pk=id)
    return render_to_geojson(
        qs,
        included_fields=['id', ],
        geom_attribute='geometry',
        mimetype='application/json',
        pretty_print=True
    )