# Create your views here.
from django.shortcuts import render_to_response
from models import *
from settings import TWITTER_ID
import twitter
from django.template import RequestContext
from django import forms
from django.forms.widgets import Textarea
from django.utils.html import urlize
from django.core.mail import send_mail

class ContactForm(forms.Form):
    name = forms.CharField(max_length=255)
    email = forms.EmailField() 
    message = forms.CharField(widget=Textarea(attrs={'cols': 10, 'rows': 6}))

    def save(self, fail_silently=False):
        if not self.is_valid():
            raise ValueError("Sorry, invalid contact form.")
#        from_email = self.cleaned_data['from_email']
        email = self.cleaned_data['email']
        name = self.cleaned_data['name']
        message = self.cleaned_data['message']
        message_body = '%s wrote: \n\n %s' % (name, message,)
        recipients = ['sanjaybhangar@gmail.com', 'indiatheatreforum@gmail.com']
        send_mail(fail_silently=fail_silently, from_email=email, message=message_body, recipient_list=recipients, subject="Contact on theatreforum.in")            

    '''
    class Meta:
        widgets = {
            'message': Textarea(attrs={'cols': 80, 'rows': 20})
        }
    '''

def index(request):
    try:
      tApi = twitter.Api()
      statuses = tApi.GetUserTimeline(TWITTER_ID)[0:3]
    except:
      statuses = []
    boxes = SliderBox.objects.all()
    front_images = FrontImage.objects.filter(is_active=True)[0:3]
    return render_to_response("noel/index.html", RequestContext(request, {
        'tweets': [urlize(s.text) for s in statuses],
        'boxes': boxes,
        'front_images': front_images
    }))

def contact(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid:
            form.save()
            errors = 0
            success = True
        else:
            errors = form.errors
            success = False
    else:
        form = ContactForm()
        success = False 
        errors = []               
#    form = ContactForm()
    return render_to_response("registration/contact.html", RequestContext(request, {
        'form': ContactForm(),
        'errors': errors,
        'success': success
    }))

