def project_team_invite_email(request, project_slug):
    project = Project.objects.get(slug=project_slug)
    if not project.viewable(request):
        return HttpResponseForbidden()
    if not project.manageable(request):
        return HttpResponseForbidden()

    email = request.POST['email']
    try:
        user = User.objects.get(email=email)
    except User.DoesNotExist:
        pass
    else:
        messages.info(request, "This user already exists. Search better.")
        return redirect(project)

    factory = TemporaryAccountFactory(email)
    registration_form = factory.registration_form()
    new_user = factory.create_temporary_user(registration_form)

    registration_profile = registration_form.profile
    contact = registration_form.contact

    invite = ProjectInvite.objects.create(user=new_user, project=project,
                                          inviter=request.user)

    context = {}
    context['invite'] = invite
    custom_message = request.POST.get('custom_message') or ''
    if custom_message and custom_message.strip():
        context['custom_message'] = custom_message.strip()

    subject = "You're been invited"
    message = registration_profile.render_to_string(
        'gateway/project_invite_pending_activation_email.txt', context)
    email = EmailMessageWithEnvelopeTo(subject, message, 
                                       settings.DEFAULT_FROM_EMAIL,
                                       [contact.email])
    email.send()

    messages.success(request, "Your invitation has been sent.")
    return redirect(project)
def new_contact(msg):
    email = msg.get("From")
    addr = parseaddr(addr)[1]

    factory = TemporaryAccountFactory(email)
    registration_form = factory.registration_form()
    new_user = factory.create_temporary_user(registration_form)

    registration_profile = registration_form.profile
    contact = registration_form.contact

    subject = "Please confirm your account"
    message = registration_profile.render_to_string(
        'gateway/listen_mail_pending_activation_email.txt')
    email = EmailMessageWithEnvelopeTo(subject, message, 
                                       settings.DEFAULT_FROM_EMAIL,
                                       [contact.email])
    email.send()

    return defer(msg, contact)
Ejemplo n.º 3
0
def new_contact(msg):
    email = msg.get("From")
    addr = parseaddr(addr)[1]

    factory = TemporaryAccountFactory(email)
    registration_form = factory.registration_form()
    new_user = factory.create_temporary_user(registration_form)

    registration_profile = registration_form.profile
    contact = registration_form.contact

    subject = "Please confirm your account"
    message = registration_profile.render_to_string(
        'gateway/listen_mail_pending_activation_email.txt')
    email = EmailMessageWithEnvelopeTo(subject, message,
                                       settings.DEFAULT_FROM_EMAIL,
                                       [contact.email])
    email.send()

    return defer(msg, contact)