Example #1
0
def add(request, person_id=None):
    """ add a new person"""

    NewMemberForm = modelform_factory(Person,
                                      fields=(
                                          'first_name',
                                          'last_name',
                                          'mail',
                                          'nationality',
                                          'birth_date',
                                          'sex',
                                          'year',
                                          'track',
                                      ))
    form = NewMemberForm(request.POST or None)

    if request.method == 'POST' and form.is_valid():
        new_person = form.save(commit=False)

        login = generate_login(new_person.first_name, new_person.last_name)
        mail = new_person.mail
        new_user = User.objects.create_user(login, mail, 'password')
        new_user.save()

        new_person.complete_name = \
            new_person.first_name+' '+new_person.last_name
        new_person.marital_status = 2  # single
        new_person.receive_job_offers = False
        new_person.user = new_user
        new_person.last_change_by = request.user.person
        new_person.save()

        new_couriel = Email()
        new_couriel.person = new_person
        new_couriel.email = new_person.mail
        new_couriel.preferred_email = True
        new_couriel.save()

        messages.success(request, _("New user successfully created"))

        return redirect('annuaire-edit', new_person.id)

    return render(
        request, 'annuaire/edit_form.html', {
            'action_title': _('Register new user'),
            'back': request.META.get('HTTP_REFERER', '/'),
            'form': form,
        })
Example #2
0
def welcome(request):

    PersonForm = modelform_factory(Person, fields=('first_name', 'last_name',))
    MemberForm = modelform_factory(AIn7Member, fields=('promos',))
    EmailForm = modelform_factory(Email, fields=('email',))

    person_form = PersonForm(request.POST or None)
    member_form = MemberForm(request.POST or None)
    member_form.fields['promos'].queryset = Promo.objects.filter(year__year=2018)
    email_form = EmailForm(request.POST or None)

    if (
            request.method == 'POST' and
            person_form.is_valid() and
            member_form.is_valid() and
            email_form.is_valid()
    ):

        username = generate_login(
            person_form.cleaned_data['first_name'],
            person_form.cleaned_data['last_name']
        )

        user = User.objects.create_user(
            email=email_form.cleaned_data['email'],
            first_name=person_form.cleaned_data['first_name'],
            last_name=person_form.cleaned_data['last_name'],
            username=username,
        )
        user.save()
        person = person_form.save(commit=False)
        person.user = user
        person.validated = False
        person.save()
        pp = PersonPrivate()
        pp.person = person
        pp.save()
        member = member_form.save(commit=False)
        member.person = person
        member.save()
        member_form.save_m2m()
        email = email_form.save(commit=False)
        email.person = person
        email.preferred_email = True
        email.save()

        person.send_mail(_(u"Bienvenue à l'n7 et à l'AIn7"),
_(u"""%(firstname)s,

Nous avons bien enregistré ton inscription dans l'annuaire des anciens
de l'ENSEEIHT. Si tu as adhéré, nous te confirmerons ton adhésion dès que
le paiement aura été validé. Si tu n'as pas adhéré, tu pourras adhérer
directement depuis le site à tout moment.

Pour te connecter au site, il faut te rendre à l'adresse et y saisir ton
adresse email (%(email)s):
https://ain7.com/lostpassword/

N'hésite à pas nous contacter pour tout aide sur le site ou au sujet de l'AIn7.
Le secrétariat est derrière l'accueil et l'n7 et est ouvert tous les jours.

L'équipe de l'AIn7

""") % { 'firstname': person.first_name, 'email': email.email })

        return redirect('subscription-welcome', person.pk)

    return render(request, 'annuaire/welcome.html', {
        'email_form': email_form,
        'member_form': member_form,
        'person_form': person_form,
        }
    )
Example #3
0
 def genlogin(self):
     """login generation"""
     return generate_login(self.cleaned_data["first_name"], self.cleaned_data["last_name"])