Ejemplo n.º 1
0
def register(request, group = None):

    if request.method == 'POST':
        form = RegisterEmailAddress(request.POST)
        if form.is_valid():
            regdata = form.cleaned_data
            email_address = regdata['email_address']
            if not group:
                subject = 'Email verification required'
            else:
                subject = 'Email verification required for site %s' % group.get_name()
            validationcode = cryptString( settings.SECRET_KEY, email_address )
            t = loader.get_template('sphene/community/accounts/account_verification_email.txt')
            c = {
                'email': email_address,
                'baseurl': group.baseurl,
                'validationcode': validationcode,
                'group': group,
                }
            send_mail( subject, t.render(RequestContext(request, c)), '*****@*****.**', [email_address] )
            return render_to_response( 'sphene/community/register_emailsent.html',
                                       { 'email': email_address,
                                         },
                                       context_instance = RequestContext(request) )
        pass
    else:
        form = RegisterEmailAddress()

    return render_to_response( 'sphene/community/register.html',
                               { 'form': form },
                               context_instance = RequestContext(request) )
Ejemplo n.º 2
0
def register(
        request,
        group=None,
        frm=None,
        register_template_name='sphene/community/register.html',
        email_sent_template_name='sphene/community/register_emailsent.html'):

    if request.method == 'POST':
        form = RegisterEmailAddress(request.POST)
        if form.is_valid():
            regdata = form.cleaned_data
            email_address = regdata['email_address']
            if not group:
                subject = _(u'Email verification required')
            else:
                subject = _(
                    u'Email verification required for site %(site_name)s') % {
                        'site_name': group.get_name()
                    }
            validationcode = cryptString(settings.SECRET_KEY, email_address)
            if frm:
                mail_context_path = sph_reverse(
                    'sphene.community.views.register_hash', (), {
                        'emailHash': validationcode,
                    }).split('community')[1]
            else:
                mail_context_path = sph_reverse(
                    'sphene.community.views.register_hash', (), {
                        'emailHash': validationcode,
                    })

            mail_context = RequestContext(
                request, {
                    'email': email_address,
                    'baseurl': group.baseurl,
                    'path': mail_context_path,
                    'validationcode': validationcode,
                    'group': group,
                })
            text_part = loader.get_template('sphene/community/accounts/account_verification_email.txt') \
                .render(mail_context)
            html_part = loader.get_template('sphene/community/accounts/account_verification_email.html') \
                .render(mail_context)

            msg = EmailMultiAlternatives(subject, text_part, None,
                                         [email_address])
            msg.attach_alternative(html_part, "text/html")
            msg.send()

            return render_to_response(email_sent_template_name, {
                'email': email_address,
            },
                                      context_instance=RequestContext(request))
        pass
    else:
        form = RegisterEmailAddress()

    return render_to_response(register_template_name, {'form': form},
                              context_instance=RequestContext(request))
Ejemplo n.º 3
0
def register(request, group = None, frm = None, register_template_name = 'sphene/community/register.html', email_sent_template_name = 'sphene/community/register_emailsent.html'):

    if request.method == 'POST':
        form = RegisterEmailAddress(request.POST)
        if form.is_valid():
            regdata = form.cleaned_data
            email_address = regdata['email_address']
            if not group:
                subject = _(u'Email verification required')
            else:
                subject = _(u'Email verification required for site %(site_name)s') % {'site_name': group.get_name()}
            validationcode = cryptString( settings.SECRET_KEY, email_address )
	    if frm:
		mail_context_path = sph_reverse( 'sphene.community.views.register_hash', (), { 'emailHash': validationcode, } ).split('community')[1]
	    else:
		mail_context_path = sph_reverse( 'sphene.community.views.register_hash', (), { 'emailHash': validationcode, } )
	    
            mail_context = RequestContext(request,
                                          {
                    'email': email_address,
                    'baseurl': group.baseurl,
                    'path': mail_context_path,
                    'validationcode': validationcode,
                    'group': group,
                    })
            text_part = loader.get_template('sphene/community/accounts/account_verification_email.txt') \
                .render(mail_context)
            html_part = loader.get_template('sphene/community/accounts/account_verification_email.html') \
                .render(mail_context)

            msg = EmailMultiAlternatives(subject, text_part, None, [email_address])
            msg.attach_alternative(html_part, "text/html")
            msg.send()

            return render_to_response( email_sent_template_name,
                                       { 'email': email_address,
                                         },
                                       context_instance = RequestContext(request) )
        pass
    else:
        form = RegisterEmailAddress()

    return render_to_response( register_template_name,
                               { 'form': form },
                               context_instance = RequestContext(request) )
Ejemplo n.º 4
0
def return_urls(request, order):
    order_hash = cryptString(settings.SECRET_KEY, str(order.id))
    host = hostname(request)
    completion_url = 'http://%(host)s/registration-complete/%(order_hash)s' % locals()
    cancel_url = 'http://%(host)s/registration-canceled/%(order_hash)s' % locals()
    return completion_url, cancel_url
Ejemplo n.º 5
0
def register_or_login(request, login=False, group=None):

    next = request.REQUEST.get('next', '/')

    if request.POST:
        if login:
            login_form = LoginForm(request.POST, prefix='login')
            reg_form = RegistrationForm()

            if login_form.is_valid():
                user = authenticate(
                    username=login_form.cleaned_data['username']
                  , password=login_form.cleaned_data['password']
                )
                auth_login(request, user)

                request.session['account_message'] = 'Logged in successfully, welcome!'

                return HttpResponseRedirect(next)
        else:
            login_form = LoginForm(prefix='login')
            reg_form = RegistrationForm(request.POST)

            if reg_form.is_valid():
                regdata = reg_form.cleaned_data.copy()
                regdata.pop('password2')
                regdata['next'] = next
                
                email_address = regdata['email']
                
                subject = 'Email verification required for site %s' % group.get_name()

                validationcode = cryptString(settings.SECRET_KEY, urlencode(regdata))

                mail_context = RequestContext(
                    request,
                    {
                    'email': email_address,
                    'baseurl': group.baseurl,
                    'validationcode': validationcode,
                    'group': group,
                    })
                
                text_part = loader.get_template(
                    'accounts/account_verification_email.txt').render(mail_context)
                html_part = loader.get_template(
                    'accounts/account_verification_email.html').render(mail_context)

                msg = EmailMultiAlternatives( subject, text_part,
                                              '*****@*****.**',
                                              [email_address] )
                msg.attach_alternative(html_part, "text/html")
                msg.send()
                
                return render_to_response( 'accounts/register_emailsent.html',
                                           { 'email': email_address },
                                           context_instance = RequestContext(request) )
    else:
        login_form = LoginForm(prefix='login')
        reg_form = RegistrationForm()

    return render_to_response('login_or_register.html', 
        RequestContext(request, {
            'reg_form': reg_form
          , 'login_form': login_form
          , 'next': next}))
Ejemplo n.º 6
0
if __name__ == "__main__":

    for vitals in parse_registrations(sys.argv[1]):

        m = email_address_re.match(vitals["email"])
        if m:
            address = m.groups(1)
            vitals["email"] = address
        else:
            address = vitals["email"]

        # if the email is unknown...
        if User.objects.filter(Q(email__exact=address) | Q(email__endswith="<%s>" % address)).count() == 0:

            validationcode = cryptString(
                settings.SECRET_KEY,
                "&".join(
                    [
                        "first_name=%(first)r",
                        "last_name=%(last)r",
                        "state=%(jurisdiction)r",
                        "zip=%(postal code)r",
                        'groups=list(Group.objects.filter(Q(name__exact="2007 Attendees")%s%s))'
                        % (
                            ("s" in vitals["role"]) and '|Q(name__exact="2007 Speakers")' or "",
                            ("o" in vitals["role"]) and '|Q(name__exact="2007 Organizers")' or "",
                        ),
                        "is_staff=True",  # Need to be "on staff" so they can add photos :(
                    ]
                    + [
                        "%s=%%(%s)r" % (x, x)