Added ResendActivationLinkViewMixin
This commit is contained in:
parent
af426c5b7a
commit
3e32e5127b
1 changed files with 39 additions and 6 deletions
|
@ -2,6 +2,7 @@ from django.conf import settings
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.contrib.auth import authenticate, login
|
from django.contrib.auth import authenticate, login
|
||||||
from django.contrib.auth.tokens import default_token_generator
|
from django.contrib.auth.tokens import default_token_generator
|
||||||
|
from django.core.urlresolvers import reverse_lazy
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
from django.utils.encoding import force_bytes
|
from django.utils.encoding import force_bytes
|
||||||
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
|
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
|
||||||
|
@ -63,9 +64,45 @@ class LoginViewMixin(FormView):
|
||||||
return super(LoginViewMixin, self).get(request, *args, **kwargs)
|
return super(LoginViewMixin, self).get(request, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class ResendActivationLinkViewMixin(FormView):
|
||||||
|
success_message = _(
|
||||||
|
"An email with the activation link has been sent to your email")
|
||||||
|
|
||||||
|
def generate_email_context(self, user):
|
||||||
|
context = {
|
||||||
|
'base_url': "{0}://{1}".format(self.request.scheme,
|
||||||
|
self.request.get_host()),
|
||||||
|
'activation_link': reverse_lazy(
|
||||||
|
'hosting:validate',
|
||||||
|
kwargs={'validate_slug': user.validation_slug}
|
||||||
|
),
|
||||||
|
'dcl_text': settings.DCL_TEXT,
|
||||||
|
}
|
||||||
|
return context
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
email = form.cleaned_data.get('email')
|
||||||
|
user = CustomUser.objects.get(email=email)
|
||||||
|
messages.add_message(self.request, messages.SUCCESS,
|
||||||
|
self.success_message)
|
||||||
|
context = self.generate_email_context(user)
|
||||||
|
email_data = {
|
||||||
|
'subject': '{dcl_text} {account_activation}'.format(
|
||||||
|
dcl_text=settings.DCL_TEXT,
|
||||||
|
account_activation=_('Account Activation')
|
||||||
|
),
|
||||||
|
'to': email,
|
||||||
|
'context': context,
|
||||||
|
'template_name': self.email_template_name,
|
||||||
|
'template_path': self.email_template_path,
|
||||||
|
'from_address': settings.DCL_SUPPORT_FROM_ADDRESS
|
||||||
|
}
|
||||||
|
email = BaseEmail(**email_data)
|
||||||
|
email.send()
|
||||||
|
return HttpResponseRedirect(self.get_success_url())
|
||||||
|
|
||||||
|
|
||||||
class PasswordResetViewMixin(FormView):
|
class PasswordResetViewMixin(FormView):
|
||||||
# template_name = 'hosting/reset_password.html'
|
|
||||||
# form_class = PasswordResetRequestForm
|
|
||||||
success_message = _(
|
success_message = _(
|
||||||
"The link to reset your email has been sent to your email")
|
"The link to reset your email has been sent to your email")
|
||||||
site = ''
|
site = ''
|
||||||
|
@ -78,7 +115,6 @@ class PasswordResetViewMixin(FormView):
|
||||||
'site_name': 'ungleich' if self.site != 'dcl' else settings.DCL_TEXT,
|
'site_name': 'ungleich' if self.site != 'dcl' else settings.DCL_TEXT,
|
||||||
'base_url': "{0}://{1}".format(self.request.scheme,
|
'base_url': "{0}://{1}".format(self.request.scheme,
|
||||||
self.request.get_host())
|
self.request.get_host())
|
||||||
|
|
||||||
}
|
}
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
@ -104,11 +140,8 @@ class PasswordResetViewMixin(FormView):
|
||||||
|
|
||||||
|
|
||||||
class PasswordResetConfirmViewMixin(FormView):
|
class PasswordResetConfirmViewMixin(FormView):
|
||||||
# template_name = 'hosting/confirm_reset_password.html'
|
|
||||||
form_class = SetPasswordForm
|
form_class = SetPasswordForm
|
||||||
|
|
||||||
# success_url = reverse_lazy('hosting:login')
|
|
||||||
|
|
||||||
def post(self, request, uidb64=None, token=None, *arg, **kwargs):
|
def post(self, request, uidb64=None, token=None, *arg, **kwargs):
|
||||||
try:
|
try:
|
||||||
uid = urlsafe_base64_decode(uidb64)
|
uid = urlsafe_base64_decode(uidb64)
|
||||||
|
|
Loading…
Reference in a new issue