Add functionality to create linked supervisor account when creating a user

This commit is contained in:
Ross
2026-06-15 11:32:21 +01:00
parent 1f0877964b
commit c52cf46d65
5 changed files with 144 additions and 49 deletions
+14 -1
View File
@@ -5948,9 +5948,22 @@ def create_user(request, context=None, trainee: bool = False):
if trainee and form.cleaned_data.get("supervisor"):
supervisor = form.cleaned_data["supervisor"]
user_profile.supervisor = supervisor
user_profile.save()
if not trainee and form.cleaned_data.get("create_supervisor"):
from generic.models import Supervisor
supervisor, created = Supervisor.objects.get_or_create(
email=new_user.email,
defaults={
"name": f"{new_user.first_name} {new_user.last_name}".strip(),
"user": new_user,
}
)
if not created and not supervisor.user:
supervisor.user = new_user
supervisor.name = f"{new_user.first_name} {new_user.last_name}".strip()
supervisor.save(update_fields=["user", "name"])
except Exception as error:
errors = f"Unable to create account profile {error}"
return render(