from django.http import HttpResponse
from django import forms
from gaybookanglais.bogaybook.models import Photo
from gaybookanglais.bogaybook.models import Avis 
from gaybookanglais.bogaybook.models import Adresses
from gaybookanglais.bogaybook.models import Agenda
from gaybookanglais.bogaybook.forms import PhotoForm
from gaybookanglais.bogaybook.models import Propose
from gaybookanglais.bogaybook.forms import ProposeForm
from gaybookanglais.bogaybook.forms import AvisForm
from django.template import Context
from django.shortcuts import render_to_response
from django.utils.encoding import smart_unicode
from datetime import datetime,timedelta
from datetime import date

def upload(request):
    if request.method == 'POST':
	new_data = request.POST.copy()
	form=PhotoForm(new_data,request.FILES)
        if form.is_valid():
		form.save()
                return HttpResponse('OK')
        else:
                display = form.errors
		return HttpResponse('Formulaire non valide %s' % (display))
    else:
	form = PhotoForm()
        context = Context({'form': form})
        return render_to_response('photo_add.html',context)

def proposeLieu(request):
    if request.method == 'POST':
	new_data = request.POST.copy()
	form=ProposeForm(new_data,request.FILES)
        if form.is_valid():
		form.save()
                return HttpResponse('OK')
        else:
                display = form.errors
		return HttpResponse('Formulaire non valide %s' % (display))
    else:
	form = ProposeForm()
        context = Context({'form': form})
        return render_to_response('propose_add.html',context)

def addAvis(request):
    if request.method == 'POST':
        new_data = request.POST.copy()
        form=AvisForm(new_data)
        if form.is_valid():
                form.save()
                return HttpResponse('OK')
        else:
                display = form.errors
                return HttpResponse('Formulaire non valide %s' % (display))
    else:
        form = AvisForm()
        context = Context({'form': form})
        return render_to_response('propose_avis.html',context)

def getImageAdresse(request):
     if request.method=='GET':
	id = request.GET['id']
	photo = Photo.objects.filter(refAdresse=id,valide=1)
	return render_to_response('getImageAdresse.html',{'photo': photo}) 
     else:
	return HttpResponse('KO')

def getAvis(request):
     if request.method=='GET':
	id = request.GET['id']
	avis = Avis.objects.filter(refadresse=id,valide=1)
	return render_to_response('getAvis.html',{'avis': avis},mimetype="application/xml") 
     else:
	return HttpResponse('KO')
def getNbAvis(request):
     if request.method=='GET':
	id = request.GET['id']
        counts =0 
        for i in Avis.objects.filter(refadresse=id,valide=1):
           counts += 1
	return render_to_response('getNbAvis.html',{'count': counts}) 
     else:
	return HttpResponse('KO')
def getData(request):
     if request.method=='GET':
	lastUpdate = request.GET.get('lastUpdate','')
	if lastUpdate:
	    adresse = Adresses.objects.filter(dateupdate__gte=lastUpdate,valide=1)
	else:
	    adresse= Adresses.objects.filter(valide=1)
	return render_to_response('getData.html',{'adresse': adresse},mimetype="application/xml") 
     else:
	return HttpResponse('KO')

def getDeleted(request):
     adresse= Adresses.objects.filter(valide=0)
     return render_to_response('getDeleted.html',{'adresse': adresse},mimetype="application/xml") 

def getAgenda(request):
     if request.method=='GET':
        today=date.today()
        courant = datetime.now()
        difference1 = timedelta(seconds=12000)
        datePasse = courant-difference1
	agenda = Agenda.objects.filter(weekly=1) | Agenda.objects.filter(date__gte=datePasse)
	return render_to_response('getAgenda.html',{'agenda': agenda},mimetype="application/xml") 
     else:
	return HttpResponse('KO')
