Mercurial > public > sg101
annotate gpp/accounts/__init__.py @ 348:d1b11096595b
Fix #168; when nailing a spammer, clear their profile text fields. Guard against topics and forums that don't exist when deleting posts in the signal handler. Make the forum stats template tag only display the latest active users.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 02 Mar 2011 02:18:28 +0000 |
parents | 69d0306a6fe7 |
children |
rev | line source |
---|---|
bgneal@347 | 1 import datetime |
bgneal@347 | 2 import logging |
bgneal@347 | 3 |
bgneal@347 | 4 from django.contrib.auth.models import User |
bgneal@347 | 5 |
bgneal@347 | 6 |
bgneal@347 | 7 def create_new_user(pending_user, ip=None, admin_activation=False): |
bgneal@347 | 8 """ |
bgneal@347 | 9 This function contains the code to create a new user from a |
bgneal@347 | 10 pending user. The pending user is deleted and the new user |
bgneal@347 | 11 is saved. A log message is produced. If admin_activation is false, |
bgneal@347 | 12 then ip should be the user's IP they confirmed from, if available. |
bgneal@347 | 13 |
bgneal@347 | 14 """ |
bgneal@347 | 15 new_user = User() |
bgneal@347 | 16 |
bgneal@347 | 17 new_user.username = pending_user.username |
bgneal@347 | 18 new_user.first_name = '' |
bgneal@347 | 19 new_user.last_name = '' |
bgneal@347 | 20 new_user.email = pending_user.email |
bgneal@347 | 21 new_user.password = pending_user.password # already been hashed |
bgneal@347 | 22 new_user.is_staff = False |
bgneal@347 | 23 new_user.is_active = True |
bgneal@347 | 24 new_user.is_superuser = False |
bgneal@347 | 25 new_user.last_login = datetime.datetime.now() |
bgneal@347 | 26 new_user.date_joined = new_user.last_login |
bgneal@347 | 27 |
bgneal@347 | 28 new_user.save() |
bgneal@347 | 29 pending_user.delete() |
bgneal@347 | 30 |
bgneal@347 | 31 if admin_activation: |
bgneal@347 | 32 msg = 'Accounts registration confirmed by ADMIN for %s' % new_user.username |
bgneal@347 | 33 else: |
bgneal@347 | 34 msg = 'Accounts registration confirmed by USER for %s from %s' % ( |
bgneal@347 | 35 new_user.username, ip) |
bgneal@347 | 36 |
bgneal@347 | 37 logging.info(msg) |