def decorate(request, *args, **kwargs): if not 'applicant_id' in request.session: return redirect_to_index(request) try: applicant = (Applicant.objects.select_related(depth=1).get( pk=request.session['applicant_id'])) except Applicant.DoesNotExist: return redirect_to_index(request) request.applicant = applicant return view_function(request, *args, **kwargs)
def decorate(request, *args, **kwargs): if not 'applicant_id' in request.session: return redirect_to_index(request) try: applicant = (Applicant.objects. select_related(depth=1). get(pk=request.session['applicant_id'])) except Applicant.DoesNotExist: return redirect_to_index(request) request.applicant = applicant return view_function(request, *args, **kwargs)
def logout(request): next_url = None if 'url' in request.GET: next_url = request.GET['url'] if next_url[0]!='/': next_url = 'http://' + next_url request.session.flush() if next_url and (next_url in ALLOWED_LOGOUT_REDIRECTION): return HttpResponseRedirect(next_url) else: return redirect_to_index(request)
def logout(request): next_url = None if 'url' in request.GET: next_url = request.GET['url'] if next_url[0] != '/': next_url = 'http://' + next_url request.session.flush() if next_url and (next_url in ALLOWED_LOGOUT_REDIRECTION): return HttpResponseRedirect(next_url) else: return redirect_to_index(request)
def register(request): if request.method == 'POST': if 'cancel' in request.POST: return redirect_to_index(request) form = RegistrationForm(request.POST) if not settings.NAT_ID_VERIFICATION: form.disable_national_id_verification() if form.is_valid(): email = form.cleaned_data['email'] first_name=form.cleaned_data['first_name'] last_name=form.cleaned_data['last_name'] national_id=form.cleaned_data['national_id'] result, error_field, applicant = ( validate_email_and_national_id(email, national_id)) if result: try: applicant = form.get_applicant() passwd = applicant.random_password() applicant.save() except IntegrityError: # somehow, it gets error result, error_field, applicant = ( validate_email_and_national_id(email, national_id)) return registration_error(error_field, applicant, email, national_id, first_name, last_name) registration = Registration( applicant=applicant, first_name=first_name, last_name=last_name) registration.random_and_save() send_password_by_email(applicant, passwd) return render_to_response( 'application/registration/success.html', {'email': form.cleaned_data['email'], 'step_name': "การลงทะเบียนเรียบร้อย" }) else: if not applicant.has_logged_in: return registration_error(error_field, applicant, email, national_id, first_name, last_name) # e-mail or national id has been registered and logged in from django.forms.util import ErrorList from commons.utils import admin_email if error_field == 'email': dup_obj = u'อีเมล์' else: dup_obj = u'รหัสประจำตัวประชาชน' form._errors['__all__'] = ErrorList([ u"""%(dup_obj)sนี้ถูกลงทะเบียนและถูกใช้แล้ว ถ้าอีเมล์นี้เป็นของคุณจริงและยังไม่เคยลงทะเบียน กรุณาติดต่อผู้ดูแลระบบทางอีเมล์ <a href="mailto:%(email)s">%(email)s</a> หรือทางเว็บบอร์ด อาจมีผู้ไม่ประสงค์ดีนำอีเมล์คุณไปใช้""" % {'dup_obj': dup_obj, 'email': admin_email()}]) else: form = RegistrationForm() return render_to_response('application/registration/register.html', { 'form': form }, context_instance=RequestContext(request))
def register(request): if request.method == 'POST': if 'cancel' in request.POST: return redirect_to_index(request) form = RegistrationForm(request.POST) if not settings.NAT_ID_VERIFICATION: form.disable_national_id_verification() if form.is_valid(): email = form.cleaned_data['email'] first_name = form.cleaned_data['first_name'] last_name = form.cleaned_data['last_name'] national_id = form.cleaned_data['national_id'] result, error_field, applicant = (validate_email_and_national_id( email, national_id)) if result: try: applicant = form.get_applicant() passwd = applicant.random_password() applicant.save() except IntegrityError: # somehow, it gets error result, error_field, applicant = ( validate_email_and_national_id(email, national_id)) return registration_error(error_field, applicant, email, national_id, first_name, last_name) registration = Registration(applicant=applicant, first_name=first_name, last_name=last_name) registration.random_and_save() send_password_by_email(applicant, passwd) return render_to_response( 'application/registration/success.html', { 'email': form.cleaned_data['email'], 'step_name': "การลงทะเบียนเรียบร้อย" }) else: if not applicant.has_logged_in: return registration_error(error_field, applicant, email, national_id, first_name, last_name) # e-mail or national id has been registered and logged in from django.forms.util import ErrorList from commons.utils import admin_email if error_field == 'email': dup_obj = u'อีเมล์' else: dup_obj = u'รหัสประจำตัวประชาชน' form._errors['__all__'] = ErrorList([ u"""%(dup_obj)sนี้ถูกลงทะเบียนและถูกใช้แล้ว ถ้าอีเมล์นี้เป็นของคุณจริงและยังไม่เคยลงทะเบียน กรุณาติดต่อผู้ดูแลระบบทางอีเมล์ <a href="mailto:%(email)s">%(email)s</a> หรือทางเว็บบอร์ด อาจมีผู้ไม่ประสงค์ดีนำอีเมล์คุณไปใช้""" % { 'dup_obj': dup_obj, 'email': admin_email() } ]) else: form = RegistrationForm() return render_to_response('application/registration/register.html', {'form': form}, context_instance=RequestContext(request))