from django.http import Http404
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from developer.models import Developer
from development.models import Development
from geo_location.models import City, Country
from django.db.models import Q, Count, Max, Min

# Create your views here.

def index(request):
    arg = []
    url_args = []
    for k,v in request.GET.items():
        url_args.append({f"{k}":[item for item in v.split(",")]})
        arg.append(f"{k}={v}")
    args = "&".join(arg)
    return render(request, 'index.html', locals())


def get_development(request, slug):
    try: development = Development.objects.get(slug=slug)
    except: raise Http404
    return render(request, 'development.html', locals())

@login_required
def master(request):
    page_adr = f"material_admin/dashboard.html"
    base_adr = f"material_admin/base.html"
    developments = Development.objects.all()
    developers = Developer.objects.all()
    countries = Country.objects.annotate(d_num=Count('developments')).filter(d_num__gt=0)
    cities = City.objects.annotate(d_num=Count('developments')).filter(d_num__gt=0)
    
    return render(request, page_adr, locals())