def create_user(self, email, first_name, last_name, primary_role, password='', is_finished_register=False): username = generate_md5_base64(email) if not password: random_password = make_random_user_password() password = random_password else: random_password = '' user = User.objects.create_user(username, '', password) return UserProfile.objects.create( user=user, email=email, first_name=first_name, last_name=last_name, random_password=random_password, primary_role=primary_role, is_finished_register=is_finished_register)
def create_user(self, email, first_name, last_name, primary_role, password='', is_finished_register=False): username = generate_md5_base64(email) if not password: random_password = make_random_user_password() password = random_password else: random_password = '' user = User.objects.create_user(username, '', password) return UserProfile.objects.create( user=user, email=email, first_name=first_name, last_name=last_name, random_password=random_password, primary_role=primary_role, is_finished_register=is_finished_register )
def create_profile(self, email, first_name, last_name, password, timezone='UTC'): username = generate_md5_base64(email) salt = sha_constructor(str(random.random())).hexdigest()[:5] email_posting_key = sha_constructor(salt + email).hexdigest() mailbox_password = sha_constructor(salt + password).hexdigest()[:32] user = User.objects.create_user(username, email, password) UserProfile.objects.create(user=user, first_name=first_name, last_name=last_name, timezone=timezone, email_posting_key=email_posting_key, mailbox_password=mailbox_password) # Creating a mailbox if settings.CREATE_MAILBOX_AFTER_CREATE_USER: import requests r = requests.post('%s/mailboxes' % settings.MAILGUN_API_DOMAIN, auth=('api', settings.MAILGUN_API_KEY), data={ 'mailbox': 'post-%s' % email_posting_key, 'password': mailbox_password } ) return user
def save(self, *args, **kwargs): """ Update username hash in User object """ self.user.username = generate_md5_base64(self.email) self.user.save() super(UserProfile, self).save(*args, **kwargs)