def inscription(request):
    if request.method == 'POST':
        forms = ChercheurFormGroup(request.POST)
        if forms.is_valid():
            chercheur = forms.save()
            id_base36 = int_to_base36(chercheur.id)
            token = chercheur.activation_token()
            template = get_template('chercheurs/activation_email.txt')
            domain = RequestSite(request).domain
            message = template.render(Context({
                'chercheur': chercheur,
                'id_base36': id_base36,
                'token': token,
                'domain': domain
            }))
            send_mail(
                'Votre inscription à Savoirs en partage',
                message, None, [chercheur.courriel]
            )
            return redirect('chercheurs-inscription-faite')
    else:
        forms = ChercheurFormGroup()

    return render(request, "chercheurs/inscription.html", {
        'forms': forms
    })
def edit(request):
    """Edition d'un chercheur"""
    chercheur = request.chercheur
    if request.method == 'POST':
        forms = ChercheurFormGroup(request.POST, chercheur=chercheur)
        if forms.is_valid():
            forms.save()
            request.flash['message'] = "Votre fiche a bien été enregistrée."
            return redirect('chercheurs.views.perso')
    else:
        forms = ChercheurFormGroup(chercheur=chercheur)

    return render(request, "chercheurs/edit.html", {
        'forms': forms,
        'chercheur': chercheur
    })
def edit_chercheur(request, userid, cle):
    """Edition d'un chercheur sans s'authentifier"""
    chercheur = get_object_or_404(Chercheur, user__username=userid)
    rappel = get_object_or_404(RappelUser, user__username=userid,
                               cle_modification=cle,
                               cle_expiration__gt=datetime.datetime.now())
    if request.method == 'POST':
        forms = ChercheurFormGroup(request.POST, chercheur=chercheur)
        if forms.is_valid():
            forms.save()
            request.flash['message'] = "Votre fiche a bien été enregistrée."
            rappel.confirme()
            return redirect('chercheurs.views.perso')
    else:
        forms = ChercheurFormGroup(chercheur=chercheur)

    return render(request, "chercheurs/edit.html", {
        'forms': forms,
        'chercheur': chercheur
    })