Commit 53de94935b117e0a5ba05f234c428b853c89402b

Authored by Luan
1 parent 38fe9bae

Changing check_password and removing unnecessary things

Showing 1 changed file with 11 additions and 10 deletions   Show diff stats
src/accounts/models.py
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 import urlparse 3 import urlparse
4 4
5 from django.db import models, DatabaseError 5 from django.db import models, DatabaseError
  6 +from django.contrib.auth.hashers import check_password
6 from django.contrib.auth.models import AbstractUser 7 from django.contrib.auth.models import AbstractUser
7 from django.core.urlresolvers import reverse 8 from django.core.urlresolvers import reverse
8 9
@@ -23,19 +24,19 @@ class User(AbstractUser): @@ -23,19 +24,19 @@ class User(AbstractUser):
23 24
24 def check_password(self, raw_password): 25 def check_password(self, raw_password):
25 """ 26 """
26 - Returns a boolean of whether the raw_password was correct. 27 + Returns a boolean of whether the raw_password was correct. Handles
  28 + hashing formats behind the scenes.
27 """ 29 """
28 - if not raw_password or not self.has_usable_password():  
29 - return False  
30 - return self.password == raw_password 30 + def setter(raw_password):
  31 + self.set_password(raw_password)
  32 + self.save(update_fields=["password"])
31 33
32 - def has_usable_password(self):  
33 - if not self.password:  
34 - return False  
35 - return True 34 + if self.xmpp.exists():
  35 + is_correct = raw_password == self.xmpp.all()[0].password
  36 + if is_correct:
  37 + return is_correct
36 38
37 - def set_password(self, raw_password):  
38 - self.password = unicode(raw_password) 39 + return check_password(raw_password, self.password, setter)
39 40
40 def get_absolute_url(self): 41 def get_absolute_url(self):
41 return reverse('user_profile', kwargs={'username': self.username}) 42 return reverse('user_profile', kwargs={'username': self.username})