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…
	
	Add table
		Add a link
		
	
		Reference in a new issue