示例#1
0
def member_subscribe_process(request, profile, organisation, mail=True):
    action = AccountActions.objects.create(action='confirm_rattachement',
                                           organisation=organisation,
                                           profile=profile)

    if mail:
        url = request.build_absolute_uri(
            reverse('idgo_admin:confirm_rattachement',
                    kwargs={'key': action.key}))
        send_membership_confirmation_mail(profile.user, organisation, url)
    return action
示例#2
0
def confirmation_mail(request, key):

    action = get_object_or_404(AccountActions,
                               key=UUID(key),
                               action='confirm_mail')
    if action.closed:
        message = 'Vous avez déjà validé votre adresse e-mail.'
        return render(request,
                      'idgo_admin/message.html', {'message': message},
                      status=200)

    user = action.profile.user
    profile = action.profile
    organisation = profile.organisation

    CkanHandler.activate_user(user.username)
    user.is_active = True
    action.profile.is_active = True

    user.save()
    action.profile.save()
    if organisation:
        # Demande de création d'une nouvelle organisation
        if not organisation.is_active:
            new_organisation_action = get_object_or_404(
                AccountActions,
                action='confirm_new_organisation',
                organisation=organisation,
                profile=profile,
                closed=None)

            url = request.build_absolute_uri(
                reverse('idgo_admin:confirm_new_orga',
                        kwargs={'key': new_organisation_action.key}))
            send_organisation_creation_confirmation_mail(
                user, organisation, url)

        # Demande de rattachement (Profile-Organisation)
        rattachement_action = get_object_or_404(AccountActions,
                                                action='confirm_rattachement',
                                                organisation=organisation,
                                                profile=profile,
                                                closed=None)

        url = request.build_absolute_uri(
            reverse('idgo_admin:confirm_rattachement',
                    kwargs={'key': rattachement_action.key}))

        send_membership_confirmation_mail(user, organisation, url)

        # Demande de rôle de référent en attente de validation
        try:
            LiaisonsReferents.objects.get(organisation=organisation,
                                          profile=profile,
                                          validated_on=None)
        except Exception:
            pass
        else:
            referent_action = get_object_or_404(AccountActions,
                                                action='confirm_referent',
                                                organisation=organisation,
                                                profile=profile,
                                                closed=None)

            url = request.build_absolute_uri(
                reverse('idgo_admin:confirm_referent',
                        kwargs={'key': referent_action.key}))
            send_referent_confirmation_mail(user, organisation, url)

        # Demande de rôle de contributeur en attente de validation
        try:
            LiaisonsContributeurs.objects.get(profile=profile,
                                              organisation=organisation,
                                              validated_on=None)
        except Exception:
            pass
        else:
            contribution_action = get_object_or_404(
                AccountActions,
                action='confirm_contribution',
                organisation=organisation,
                profile=profile,
                closed=None)
            url = request.build_absolute_uri(
                reverse('idgo_admin:confirm_contribution',
                        kwargs={'key': contribution_action.key}))
            send_contributor_confirmation_mail(user, organisation, url)

    send_successful_account_creation_mail(user)

    action.closed = timezone.now()
    action.save()
    message = ("Merci d'avoir confirmé votre adresse e-mail. "
               'Toute demande de rattachement, contribution, '
               'ou rôle de référent technique pour une organisation, '
               "ne sera effective qu'après validation "
               'par un administrateur.')

    context = {
        'message': message,
        'button': {
            'href': reverse('server_cas:signIn'),
            'label': 'Se connecter'
        }
    }

    return render(request, 'idgo_admin/message.html', context, status=200)