"""Account utils""" """Import django""" from django.conf import settings """Third party Django app""" from templated_email import send_templated_mail from .models import JuniorPoints from django.db.models import F # junior notification # email for sending email # when guardian create junior profile # guardian get email when junior send # request for approving the profile and # being part of the zod bank and access the platform # define junior notification email # junior approval email def junior_notification_email(recipient_email, full_name, email, password): """Notification email""" from_email = settings.EMAIL_FROM_ADDRESS # recipient email""" recipient_list = [recipient_email] # use send template mail for sending email""" send_templated_mail( template_name='junior_notification_email.email', from_email=from_email, recipient_list=recipient_list, context={ 'full_name': full_name, 'url':'link', 'email': email, 'password': password } ) return full_name def junior_approval_mail(guardian, full_name): """junior approval mail""" from_email = settings.EMAIL_FROM_ADDRESS recipient_list = [guardian] # use send template mail for sending email""" send_templated_mail( template_name='junior_approval_mail.email', from_email=from_email, recipient_list=recipient_list, context={ 'full_name': full_name } ) return full_name def update_positions_based_on_points(): """Update position of the junior""" # First, retrieve all the JuniorPoints instances ordered by total_points in descending order. juniors_points = JuniorPoints.objects.order_by('-total_points') # Now, iterate through the queryset and update the position field based on the order. position = 1 for junior_point in juniors_points: junior_point.position = position junior_point.save() position += 1