annotate accounts/__init__.py @ 821:71db8076dc3d

Bandmap WIP: geocoding integrated with add form. Add form works. Before submitting the form, client side JS makes a geocode request to Google and populates hidden lat/lon fields with the result. Successfully created a model instance on the server side. Still need to update admin dashboard, admin approval, and give out badges for adding bands to the map. Once that is done, then work on displaying the map with filtering.
author Brian Neal <bgneal@gmail.com>
date Tue, 23 Sep 2014 20:40:31 -0500
parents 988782c6ce6c
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@690 7 logger = logging.getLogger('auth')
bgneal@690 8
bgneal@690 9
bgneal@347 10 def create_new_user(pending_user, ip=None, admin_activation=False):
bgneal@347 11 """
bgneal@347 12 This function contains the code to create a new user from a
bgneal@347 13 pending user. The pending user is deleted and the new user
bgneal@347 14 is saved. A log message is produced. If admin_activation is false,
bgneal@347 15 then ip should be the user's IP they confirmed from, if available.
bgneal@347 16
bgneal@347 17 """
bgneal@347 18 new_user = User()
bgneal@347 19
bgneal@347 20 new_user.username = pending_user.username
bgneal@347 21 new_user.first_name = ''
bgneal@347 22 new_user.last_name = ''
bgneal@347 23 new_user.email = pending_user.email
bgneal@347 24 new_user.password = pending_user.password # already been hashed
bgneal@347 25 new_user.is_staff = False
bgneal@347 26 new_user.is_active = True
bgneal@347 27 new_user.is_superuser = False
bgneal@347 28 new_user.last_login = datetime.datetime.now()
bgneal@347 29 new_user.date_joined = new_user.last_login
bgneal@347 30
bgneal@347 31 new_user.save()
bgneal@347 32 pending_user.delete()
bgneal@347 33
bgneal@347 34 if admin_activation:
bgneal@347 35 msg = 'Accounts registration confirmed by ADMIN for %s' % new_user.username
bgneal@347 36 else:
bgneal@347 37 msg = 'Accounts registration confirmed by USER for %s from %s' % (
bgneal@347 38 new_user.username, ip)
bgneal@347 39
bgneal@690 40 logger.info(msg)