Move new user email contents to template

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2011-03-04 12:13:29 -06:00
parent 3f4570c199
commit 9d12c0fac5
3 changed files with 26 additions and 11 deletions

View File

@ -4,6 +4,7 @@
from django.contrib.auth.models import User
from django.contrib.sites.models import Site
from django.core.mail import send_mail
from django.template import loader, Context
from django.views.decorators.cache import never_cache
from django.views.generic.simple import direct_to_template
@ -23,8 +24,8 @@
def index(request):
'''the Developer dashboard'''
inner_q = PackageRelation.objects.filter(user=request.user).values('pkgbase')
flagged = Package.objects.select_related('arch', 'repo').filter(flag_date__isnull=False)
flagged = flagged.filter(pkgbase__in=inner_q).order_by('pkgname')
flagged = Package.objects.select_related('arch', 'repo').filter(
flag_date__isnull=False, pkgbase__in=inner_q).order_by('pkgname')
todopkgs = TodolistPkg.objects.select_related(
'pkg', 'pkg__arch', 'pkg__repo').filter(complete=False)
@ -111,25 +112,34 @@ class Meta:
first_name = forms.CharField(required=False)
last_name = forms.CharField(required=False)
def clean_username(self):
username = self.cleaned_data['username']
if User.objects.filter(username=username).exists():
raise forms.ValidationError(
"A user with that username already exists.")
return username
def save(self):
profile = forms.ModelForm.save(self, False)
pwletters = ascii_letters + digits
pw = ''.join([random.choice(pwletters) for i in xrange(8)])
password = ''.join([random.choice(pwletters) for i in xrange(8)])
user = User.objects.create_user(username=self.cleaned_data['username'],
email=self.cleaned_data['email'], password=pw)
email=self.cleaned_data['email'], password=password)
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
user.save()
profile.user = user
profile.save()
domain = Site.objects.get_current().domain
t = loader.get_template('devel/new_account.txt')
c = Context({
'site': Site.objects.get_current(),
'user': user,
'password': password,
})
send_mail("Your new archweb account",
"""You can now log into:
https://%s/login/
with these login details:
Username: %s
Password: %s""" % (domain, user.username, pw),
t.render(c),
'Arch Website Notification <nobody@archlinux.org>',
[user.email],
fail_silently=False)

View File

@ -8,7 +8,7 @@
from django.db.models import Q
from django.http import HttpResponse, Http404
from django.shortcuts import get_object_or_404, redirect
from django.template import loader, Context, RequestContext
from django.template import loader, Context
from django.utils import simplejson
from django.views.decorators.cache import never_cache
from django.views.decorators.http import require_POST

View File

@ -0,0 +1,5 @@
You can now log into https://{{ site.domain }}/login/ with these login details:
Username: {{ user.username }}
Password: {{ password }}
Please update your profile once logged in and change your password.