|
|
@ -1,4 +1,10 @@ |
|
|
from django import forms |
|
|
from django import forms |
|
|
|
|
|
from django.utils.encoding import force_bytes |
|
|
|
|
|
from django.core.mail import send_mail |
|
|
|
|
|
from django.template import loader |
|
|
|
|
|
from django.contrib.auth.tokens import default_token_generator |
|
|
|
|
|
from django.utils.http import urlsafe_base64_encode |
|
|
|
|
|
from django.contrib.sites.shortcuts import get_current_site |
|
|
from django.contrib.auth.models import User |
|
|
from django.contrib.auth.models import User |
|
|
|
|
|
|
|
|
from .models import School |
|
|
from .models import School |
|
|
@ -24,12 +30,42 @@ class CreateUser(forms.ModelForm): |
|
|
'first_name', |
|
|
'first_name', |
|
|
'last_name', |
|
|
'last_name', |
|
|
'email', |
|
|
'email', |
|
|
'groups', |
|
|
|
|
|
'password', |
|
|
|
|
|
] |
|
|
] |
|
|
def __init__(self, *args, **kwargs): |
|
|
def __init__(self, *args, **kwargs): |
|
|
super().__init__(*args, **kwargs) |
|
|
super().__init__(*args, **kwargs) |
|
|
self.fields['password'].widget = forms.PasswordInput() |
|
|
|
|
|
|
|
|
def save(self, request): |
|
|
|
|
|
user = super().save(commit=None) |
|
|
|
|
|
user.password = '' |
|
|
|
|
|
user.save() |
|
|
|
|
|
site = get_current_site(request) |
|
|
|
|
|
context = { |
|
|
|
|
|
'email': user.email, |
|
|
|
|
|
'domain': site.domain, |
|
|
|
|
|
'site_name': site.name, |
|
|
|
|
|
'uid': urlsafe_base64_encode(force_bytes(user.pk)).decode(), |
|
|
|
|
|
'user': user, |
|
|
|
|
|
'token': default_token_generator.make_token(user), |
|
|
|
|
|
'protocol': 'https', |
|
|
|
|
|
} |
|
|
|
|
|
self.send_mail(context, user.email) |
|
|
|
|
|
return user |
|
|
|
|
|
|
|
|
|
|
|
def send_mail(self, context, to_email): |
|
|
|
|
|
""" |
|
|
|
|
|
Send a django.core.mail.EmailMultiAlternatives to `to_email`. |
|
|
|
|
|
""" |
|
|
|
|
|
subject = "Inscription sur Il était une fois dans l'Est" |
|
|
|
|
|
body = loader.render_to_string("users/welcome_user.txt", context) |
|
|
|
|
|
from_email = "noreply.festart@rezometz.org" |
|
|
|
|
|
|
|
|
|
|
|
send_mail( |
|
|
|
|
|
subject, |
|
|
|
|
|
body, |
|
|
|
|
|
from_email, |
|
|
|
|
|
[to_email], |
|
|
|
|
|
fail_silently=False, |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EditPhone(forms.ModelForm): |
|
|
class EditPhone(forms.ModelForm): |
|
|
|