2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2024-11-26 09:11:54 +00:00

[svn] Use hashlib rather than depreciated sha

This commit is contained in:
pjrharley 2009-05-22 20:59:03 +01:00
parent 7fe5cd6ede
commit e27f5565cb
2 changed files with 17 additions and 10 deletions

View File

@ -1,7 +1,7 @@
import datetime
import random
import re
import sha
import hashlib
from django.conf import settings
from django.contrib.auth.models import User
@ -117,7 +117,8 @@ class RegistrationManager(models.Manager):
registration_profile = self.create_profile(new_user)
if send_email:
from django.core.mail import send_mail
from django.core.mail import send_mail, EmailMultiAlternatives
current_site = Site.objects.get_current()
subject = render_to_string('registration/activation_email_subject.txt',
@ -125,12 +126,18 @@ class RegistrationManager(models.Manager):
# Email subject *must not* contain newlines
subject = ''.join(subject.splitlines())
message = render_to_string('registration/activation_email.txt',
text_content = render_to_string('registration/activation_email.txt',
{ 'activation_key': registration_profile.activation_key,
'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS,
'site': settings.URL_ROOT })
send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [new_user.email])
html_content = render_to_string('registration/activation_email.html',
{ 'activation_key': registration_profile.activation_key,
'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS,
'site': settings.URL_ROOT })
msg = EmailMultiAlternatives(subject, text_content, settings.DEFAULT_FROM_EMAIL, [new_user.email])
msg.attach_alternative(html_content, "text/html")
msg.send()
# send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [new_user.email])
user_registered.send(sender=self.model, user=new_user)
return new_user
create_inactive_user = transaction.commit_on_success(create_inactive_user)
@ -145,8 +152,8 @@ class RegistrationManager(models.Manager):
username and a random salt.
"""
salt = sha.new(str(random.random())).hexdigest()[:5]
activation_key = sha.new(salt+user.username).hexdigest()
salt = hashlib.sha1(str(random.random())).hexdigest()[:5]
activation_key = hashlib.sha1(salt+user.username).hexdigest()
return self.create(user=user,
activation_key=activation_key)

View File

@ -20,7 +20,7 @@ getting django-registration running in the default setup, to wit:
"""
import datetime
import sha
import hashlib
from django.conf import settings
from django.contrib.auth.models import User
@ -115,7 +115,7 @@ class RegistrationModelTests(RegistrationTestCase):
self.failIf(RegistrationProfile.objects.activate_user('foo'))
# Activating from a key that doesn't exist returns False.
self.failIf(RegistrationProfile.objects.activate_user(sha.new('foo').hexdigest()))
self.failIf(RegistrationProfile.objects.activate_user(hashlib.sha1('foo').hexdigest()))
def test_account_expiration_condition(self):
"""
@ -351,5 +351,5 @@ class RegistrationViewTests(RegistrationTestCase):
# Nonexistent key sets the account to False.
response = self.client.get(reverse('registration_activate',
kwargs={ 'activation_key': sha.new('foo').hexdigest() }))
kwargs={ 'activation_key': hashlib.sha1('foo').hexdigest() }))
self.failIf(response.context['account'])