Added send_email flag to send/not send email on user registration. Added get_random_password method to CustomUser

This commit is contained in:
M.Ravi 2017-06-22 13:22:14 +05:30
parent c4c110b506
commit b4c3172a4d

View file

@ -6,6 +6,7 @@ from django.contrib.auth.hashers import make_password
from django.core.validators import RegexValidator from django.core.validators import RegexValidator
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.contrib.sites.models import Site from django.contrib.sites.models import Site
from django.utils.crypto import get_random_string
from utils.stripe_utils import StripeUtils from utils.stripe_utils import StripeUtils
from utils.mailer import DigitalGlarusRegistrationMailer from utils.mailer import DigitalGlarusRegistrationMailer
@ -73,7 +74,7 @@ class CustomUser(AbstractBaseUser, PermissionsMixin):
REQUIRED_FIELDS = ['name', 'password'] REQUIRED_FIELDS = ['name', 'password']
@classmethod @classmethod
def register(cls, name, password, email, app='digital_glarus', base_url=None): def register(cls, name, password, email, app='digital_glarus', base_url=None, send_email=True):
user = cls.objects.filter(email=email).first() user = cls.objects.filter(email=email).first()
if not user: if not user:
user = cls.objects.create_user(name=name, email=email, password=password) user = cls.objects.create_user(name=name, email=email, password=password)
@ -83,17 +84,18 @@ class CustomUser(AbstractBaseUser, PermissionsMixin):
dg.send_mail(to=user.email) dg.send_mail(to=user.email)
elif app == 'dcl': elif app == 'dcl':
user.is_active = False user.is_active = False
email_data = { if send_email is True:
'subject': _('Activate your Data Center Light account'), email_data = {
'from_address': '(Data Center Light) Data Center Light Support <support@datacenterlight.ch>', 'subject': _('Activate your Data Center Light account'),
'to': user.email, 'from_address': '(Data Center Light) Data Center Light Support <support@datacenterlight.ch>',
'context': {'base_url' : base_url, 'to': user.email,
'activation_link' : reverse('hosting:validate', kwargs={'validate_slug': user.validation_slug})}, 'context': {'base_url' : base_url,
'template_name': 'user_activation', 'activation_link' : reverse('hosting:validate', kwargs={'validate_slug': user.validation_slug})},
'template_path': 'datacenterlight/emails/' 'template_name': 'user_activation',
} 'template_path': 'datacenterlight/emails/'
email = BaseEmail(**email_data) }
email.send() email = BaseEmail(**email_data)
email.send()
return user return user
else: else:
return None return None
@ -113,6 +115,10 @@ class CustomUser(AbstractBaseUser, PermissionsMixin):
return True return True
return False return False
@classmethod
def get_random_password(cls):
return get_random_string(24)
def is_superuser(self): def is_superuser(self):
return False return False