annotate gpp/accounts/__init__.py @ 467:b910cc1460c8

Add the ability to conditionally add model instances to the search index on update. This is not perfect, as some instances should be deleted from the index if they are updated such that they should not be in the index anymore. Will think about and address that later.
author Brian Neal <bgneal@gmail.com>
date Sun, 24 Jul 2011 18:12:20 +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)