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) )
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))
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) )
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
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}))
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)