# Django core bits
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.contrib import messages

# Forms
from forms import ContactForm, ContactCaptchaForm

# Models
from modules.pages.models import Page

import emails


def contact(request):

    try:
        page = Page.objects.get(url='contact-us')
    except Page.DoesNotExist:
        page = False

    form = ContactForm()
    recaptcha_form = ContactCaptchaForm()

    if request.POST:
        form = ContactForm(request.POST)
        recaptcha_form = ContactCaptchaForm(request.POST)
        if form.is_valid() and recaptcha_form.is_valid():
            submission = form.save(commit=False)
            submission.ip = request.META['REMOTE_ADDR']
            submission.save()

            emails.contact_submit(request=request, submission=submission)

            return render_to_response('public/contact/contact-submitted.html', {}, context_instance=RequestContext(request))

        else:
            messages.error(request, 'Could not send your enquiry, please check the fields and resubmit.')

    return render_to_response('public/contact/contact.html', {'form': form, 'recaptcha_form': recaptcha_form, 'page': page}, context_instance=RequestContext(request))
