]> git.0d.be Git - django-panik-newsletter.git/blob - views.py
modification de la gestion de la souscritpion
[django-panik-newsletter.git] / views.py
1 # -*- coding: utf8 -*-
2
3 import hashlib
4 import random
5
6 import socket
7
8 from django.db import models, IntegrityError
9 from django.shortcuts import render
10 from django.core.mail import send_mail
11
12 from .forms import SubscriptionForm
13 from .models import Subscriber 
14
15 # Create your views here.
16
17 def subscription(request) :
18     
19     if request.method == 'POST' :
20         form = SubscriptionForm(request.POST)
21         custom_errors = []
22         if form.is_valid() :
23             cd = form.cleaned_data
24             # Va aussi servir pour le lien de validation.
25             passwd = hashlib.sha1(str(random.random())).hexdigest()
26             
27             subscriber = Subscriber(email=cd['email'], password=passwd, is_validated=None, is_registered=False)
28             try :
29                 subscriber.save()
30             except IntegrityError, validation_error :
31                 custom_errors.append(str(validation_error))
32             except socket.error:
33                 custom_errors.append("Connexion impossible pour l'instant")
34
35             return render(request, 'subscription_form.html', {'form' : form, 'custom_errors' : custom_errors})
36         else :
37             return render(request, 'subscription_form.html', {'form' : form})
38     else :
39         form = SubscriptionForm()
40         return render(request, "subscription_form.html", {'form' : form})
41
42