Guest User

Untitled

a guest
Mar 12th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.57 KB | None | 0 0
  1. #views.py
  2. #-*- encoding: utf-8 -*-
  3.  
  4. # Import Django
  5. from django.contrib.auth import authenticate, login
  6. from django.contrib.auth.decorators import login_required
  7. from django.http import HttpResponseRedirect
  8. from django.shortcuts import render
  9. from django.contrib import messages
  10. from django.utils.translation import ugettext as _
  11.  
  12. #Import forms
  13. from client.forms import loginForm, registerForm
  14.  
  15. #View
  16. def login(request):
  17.     '''
  18.         Connection de l'utilisateur
  19.     '''
  20.     if request.method == 'POST':
  21.         username = request.POST['username']
  22.         password = request.POST['password']
  23.         user = authenticate(username=username, password=password)
  24.         if user:
  25.             message.success(request, _(u"Connection réussie, vous pouvez désormais utilisez votre administration."))
  26.             return HttpResponseRedirect('/login/?next=%s' % request.path)
  27.         else:
  28.             message.error(request, _(u"Erreur lors de l'authentification, si l'erreur persiste veuillez nous contacter."))
  29.     else:
  30.         forms = loginForm()
  31.         return render(request, 'client/login.html', {'forms':forms})
  32.        
  33.        
  34. @login_required()
  35. def logout(request):
  36.     '''
  37.         Déconnection de l'utilisateur
  38.     '''
  39.     logout(request)
  40.     return HttpResponseRedirect('/')
  41.    
  42.    
  43. def register(request):
  44.     '''
  45.         Enregistrement de l'utilisateur
  46.     '''
  47.     # Vérification de l'état de l'utilisateur
  48.     if request.user.is_authenticated():
  49.         return HttpResponseRedirect("/acces-client/")
  50.        
  51.     #S'il n'est pas connecté on enregistre son formulaire  
  52.     elif request.method == 'POST':
  53.         username  = request.POST.get('email', '')
  54.         email = request.POST.get('email', '')
  55.         password = request.POST.get('password', '')
  56.         password2 = request.POST.get('password2', '')
  57.         if password != password2:
  58.             messages.error(request, _(u"Vos mots de passe ne concordent pas."))
  59.         user = User.objects.create_user(username, email, password)
  60.         user.is_active = True
  61.         user.save()
  62.         auth.login(request, auth.authenticate(username=username, password=password))
  63.         messages.success(request, _(u"Votre enregistrement est maintenant terminé, vous pouvez désormais faire des demandes de devis."))
  64.         return HttpResponseRedirect("/acces-client/")
  65.     else:
  66.         # S'il n'est pas connecté et n'a rien soumis au formulaire, on affiche ce dernier
  67.         forms = registerForm()  
  68.         return render(request, 'client/register.html', {'forms':forms})
  69.        
  70.  
  71.  
  72.  
  73.  
  74. #forms.py
  75. #-*- encoding: utf-8 -*-
  76.  
  77. #Import Django
  78. from django.forms import ModelForm
  79. from django import forms
  80. from django.contrib.localflavor.ch.forms import CHPhoneNumberField, CHZipCodeField, CHStateSelect
  81. om django.forms.extras.widget import *
  82.  
  83. # Import models
  84. from client.models import Client
  85.  
  86. class loginForm(forms.Form):
  87.     '''
  88.         Formulaire de connection
  89.     '''
  90.     username = forms.CharField(max_length=100, label=_(u"Email"))
  91.     password = forms.CharField(widget=forms.PasswordInput, label=_(u"Mot de passe"))
  92.    
  93.    
  94. class registerForm(forms.Form):
  95.     '''
  96.         Formulaire d'enregistrement
  97.     '''
  98.     email = forms.EmailField()
  99.     password = forms.CharField(widget=forms.PasswordInput, label=_("Mot de passe"))
  100.     password2 = forms.CharField(widget=forms.PasswordInput, label=_("Confirmation du mot de passe"))
  101.    
  102.  
  103. class informationsForm(ModelForm):
  104.     '''
  105.         Formulaire d'information sur l'utilisateur
  106.     '''
  107.     class Meta:
  108.         model = Client
  109.         exclude = ('username')
  110.     'zip_code': CHZipCodeField(),
  111.     'city': CHStateSelect(),
  112.     'phone_numer': CHPhoneNumberField(),
  113.     'mobile_numer': CHPhoneNumberField(),
  114.     'fax_numer': CHPhoneNumberField(),
Add Comment
Please, Sign In to add comment