Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #views.py
- #-*- encoding: utf-8 -*-
- # Import Django
- from django.contrib.auth import authenticate, login
- from django.contrib.auth.decorators import login_required
- from django.http import HttpResponseRedirect
- from django.shortcuts import render
- from django.contrib import messages
- from django.utils.translation import ugettext as _
- #Import forms
- from client.forms import loginForm, registerForm
- #View
- def login(request):
- '''
- Connection de l'utilisateur
- '''
- if request.method == 'POST':
- username = request.POST['username']
- password = request.POST['password']
- user = authenticate(username=username, password=password)
- if user:
- message.success(request, _(u"Connection réussie, vous pouvez désormais utilisez votre administration."))
- return HttpResponseRedirect('/login/?next=%s' % request.path)
- else:
- message.error(request, _(u"Erreur lors de l'authentification, si l'erreur persiste veuillez nous contacter."))
- else:
- forms = loginForm()
- return render(request, 'client/login.html', {'forms':forms})
- @login_required()
- def logout(request):
- '''
- Déconnection de l'utilisateur
- '''
- logout(request)
- return HttpResponseRedirect('/')
- def register(request):
- '''
- Enregistrement de l'utilisateur
- '''
- # Vérification de l'état de l'utilisateur
- if request.user.is_authenticated():
- return HttpResponseRedirect("/acces-client/")
- #S'il n'est pas connecté on enregistre son formulaire
- elif request.method == 'POST':
- username = request.POST.get('email', '')
- email = request.POST.get('email', '')
- password = request.POST.get('password', '')
- password2 = request.POST.get('password2', '')
- if password != password2:
- messages.error(request, _(u"Vos mots de passe ne concordent pas."))
- user = User.objects.create_user(username, email, password)
- user.is_active = True
- user.save()
- auth.login(request, auth.authenticate(username=username, password=password))
- messages.success(request, _(u"Votre enregistrement est maintenant terminé, vous pouvez désormais faire des demandes de devis."))
- return HttpResponseRedirect("/acces-client/")
- else:
- # S'il n'est pas connecté et n'a rien soumis au formulaire, on affiche ce dernier
- forms = registerForm()
- return render(request, 'client/register.html', {'forms':forms})
- #forms.py
- #-*- encoding: utf-8 -*-
- #Import Django
- from django.forms import ModelForm
- from django import forms
- from django.contrib.localflavor.ch.forms import CHPhoneNumberField, CHZipCodeField, CHStateSelect
- om django.forms.extras.widget import *
- # Import models
- from client.models import Client
- class loginForm(forms.Form):
- '''
- Formulaire de connection
- '''
- username = forms.CharField(max_length=100, label=_(u"Email"))
- password = forms.CharField(widget=forms.PasswordInput, label=_(u"Mot de passe"))
- class registerForm(forms.Form):
- '''
- Formulaire d'enregistrement
- '''
- email = forms.EmailField()
- password = forms.CharField(widget=forms.PasswordInput, label=_("Mot de passe"))
- password2 = forms.CharField(widget=forms.PasswordInput, label=_("Confirmation du mot de passe"))
- class informationsForm(ModelForm):
- '''
- Formulaire d'information sur l'utilisateur
- '''
- class Meta:
- model = Client
- exclude = ('username')
- 'zip_code': CHZipCodeField(),
- 'city': CHStateSelect(),
- 'phone_numer': CHPhoneNumberField(),
- 'mobile_numer': CHPhoneNumberField(),
- 'fax_numer': CHPhoneNumberField(),
Add Comment
Please, Sign In to add comment