示例#1
0
def _get_unique_secret():
    attempt = get_name()
    try:
        Traveller.objects.get(secret=process_secret(attempt.lower()))
    except Traveller.DoesNotExist:
        return attempt
    return _get_unique_secret()
示例#2
0
def register(request):
    if request.method == "POST":
        traveller_form = TravellerForm(request.POST, request.FILES)
        if traveller_form.is_valid():
            # combine traveller's secret with site secret and hash before saving
            traveller = traveller_form.save(commit=False)
            display_secret = _get_unique_secret()
            store_secret = process_secret(display_secret.lower())
            traveller.secret = store_secret
            traveller.save()

            initial_update = TravellerUpdate(traveller=traveller,
                        status=STATUS_IN_TRANSIT,
                        current_country=traveller.home_country)
            initial_update.save()
            return render_to_response('confirm.html',
                    {'secret': display_secret},
                    context_instance=RequestContext(request))
    else:
        traveller_form = TravellerForm()
    return render_to_response('register.html',
            {'traveller_form': traveller_form},
            context_instance=RequestContext(request))