from django.shortcuts import render,redirect,HttpResponse from django.core.mail import send_mail from django.conf import settings from django.template.loader import render_to_string from django.utils.html import strip_tags from django.conf import settings from django.urls import reverse from django.contrib.sites.shortcuts import get_current_site from . forms import BaseUserForm from django.contrib import messages from django.contrib.auth.tokens import default_token_generator # Create your views here. from .models import BaseUser def homeView(request): return HttpResponse("home") def createUserView(request): if request.method == 'POST': form = BaseUserForm(request.POST, request.FILES) print(form) if form.is_valid(): form.save() form.is_a #return redirect('home') return HttpResponse("

User Created

") else: form = BaseUserForm() return render(request, 'main/create_user.html', { 'form': form }) def send_mail_page(): address = "sajeshmaan@gmail.com" subject = "Congrts Team Flash" message = "Congrts Team Flash hackx committe has announced your team as a winner" try: send_mail(subject, message, settings.EMAIL_HOST_USER, [address,'rajakiaryal0@gmail.com']) result= 'Email sent successfully' except Exception as e: result = f'Error sending email: {e}' def send_welcome_email(user, request): # Generate activation link user = BaseUser.objects.get(email="user@example.com") # Replace with your user object token = default_token_generator.make_token(user) token = 'generated_token_here' # This token will be generated based on your activation logic activation_link = f"{get_current_site(request).domain}{reverse('account:activate', args=[token])}" # Prepare email subject and message subject = "Welcome to Sahara - Please Activate Your Account" # Render the HTML email html_message = render_to_string('welcome_email.html', { 'user': user, 'activation_link': activation_link, }) # Render the plain-text version of the email plain_message = strip_tags(html_message) # Send the email send_mail( subject, plain_message, settings.DEFAULT_FROM_EMAIL, [user.email], html_message=html_message, ) def activate_account(request, token): try: # Decode token and retrieve user user = User.objects.get(email__iexact=user_email_from_token) if user: # Activate user account user.is_active = True user.save() messages.success(request, "Account activated successfully!") return redirect('login') # Redirect to the login page else: messages.error(request, "Invalid activation link.") except Exception as e: messages.error(request, str(e)) return redirect('home') # Redirect to homepage in case of error