Add functionality to create linked supervisor account when creating a user
This commit is contained in:
+14
-1
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user