示例#1
0
def feedback(request):
    if request.method == 'POST':
        form = FeedbackForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            message = form.cleaned_data['message']
            Feedback(email=email, message=message, type="gen", status=1).save()
            return HttpResponseRedirect(reverse('feedback_completed'))
            return render_to_response('feedback_completed.html', {}, request)
    else:
        form = FeedbackForm()

    return render_to_response('feedback.html', {
        'form': form}, request)
示例#2
0
def default_on_success(request, openid_response, message):
    """Дефолтный вид лля удачных запросов"""
    request.session['openid'] = from_openid_response(openid_response)
    return render_to_response('authopenid/success.html',
        {
            'message': message,
         },
        request
    )
示例#3
0
def default_on_failure(request, message):
    """Дефолтный вид для неудачных запросов"""
    return render_to_response('authopenid/failure.html',
        {
            'message': message,
            'form': OpenidSigninForm()
         },
        request
    )
示例#4
0
def registration(request):
    openid = request.session.get('openid', None)
    next = request.GET.get(REDIRECT_FIELD_NAME, '')
    if not openid or openid is None:
        return HttpResponseRedirect(u"%s?%s" % (reverse('oid_login'), urllib.urlencode({REDIRECT_FIELD_NAME: urlquote(next)})))
    pinitial = openid.sreg
    logger.debug(openid.sreg)
    logger.debug(openid.ax_resp)
    if openid.ax_resp:
        for k, v in openid.ax_resp.items():
            if not pinitial.get(k):
                pinitial[k] = v
    logger.debug(u"Окончательные данные \n %s" % pinitial)
    initial = {}
    for k, v in pinitial.items():
        initial[get_name(k)] = v
    if request.method == 'POST':
        form = OpenidRegisterForm(request.POST)
    else:
        form = OpenidRegisterForm(initial)
        
    if form.is_valid():
        user = User.objects.create_user(form.cleaned_data['username'], form.cleaned_data['email'])
        user.backend = "authopenid.backends.OpenIDBackend"
        if user is not None:
            uassoc = UserAssociation(openid_url=str(openid), user_id=user.id)
            uassoc.save(send_email=False)
            cauth.login(request, user)
            return HttpResponseRedirect(urlquote(next))
    return render_to_response('authopenid/registration.html',
        {
            'form': form,
            REDIRECT_FIELD_NAME: next
         },
        request
    )
示例#5
0
def complete(request, on_success = None, on_failure = default_on_failure, return_to = None, **kwargs ):
    """Обработка openid_response от провадера
    """
    redirect_to = request.GET.get(REDIRECT_FIELD_NAME, None) or getattr(settings, 'LOGIN_REDIRECT_URL', '/')
    consumer = Consumer(request.session, DjangoOpenIDStore())
    args = dict(request.GET.items())
    openid_response = consumer.complete(args, request.build_absolute_uri(return_to))
    if openid_response.status == SUCCESS:
        return on_success(request, openid_response, redirect_to)
    elif openid_response.status == CANCEL:
        return on_failure(request, _(u'Вы отменили авторизации у своего OpenID провадера'))
    elif openid_response.status == FAILURE:
        return on_failure(request, openid_response.message)
    elif openid_response.status == SETUP_NEEDED:
        return on_failure(request, _('Setup needed'))
    else:
        assert False, _("Bad openid status: %s") % openid_response.status

    return render_to_response('authopenid/complete.html',
        {
            REDIRECT_FIELD_NAME: redirect_to
         },
        request
    )
示例#6
0
def page_not_found(request):
    return render_to_response('404.html', {'request_path': request.path},
                              request, response_class=HttpResponseNotFound)
示例#7
0
def server_error(request):
    return render_to_response('500.html', {}, request,
                              response_class=HttpResponseServerError)
示例#8
0
        
    redirect_to = request.POST.get(REDIRECT_FIELD_NAME, None) or getattr(settings, 'LOGIN_REDIRECT_URL', '/')
    if form.is_valid():
        openid_url = form.cleaned_data['openid_url']
        user = None
        try:
            user = UserAssociation.objects.get(openid_url=openid_url).user
        except UserAssociation.DoesNotExist, e:
            logger.debug(u'Пользователя с идентификатором %s не зарегистрировано' % openid_url)
            user = None
        return ask_openid(request, openid_url, reverse('oid_complete_signin'), redirect_to, user)
            
    return render_to_response('authopenid/signin.html',
        {
            'form': form,
            'next': request.GET.get(REDIRECT_FIELD_NAME, '')
         },
        request
    )



def complete(request, on_success = None, on_failure = default_on_failure, return_to = None, **kwargs ):
    """Обработка openid_response от провадера
    """
    redirect_to = request.GET.get(REDIRECT_FIELD_NAME, None) or getattr(settings, 'LOGIN_REDIRECT_URL', '/')
    consumer = Consumer(request.session, DjangoOpenIDStore())
    args = dict(request.GET.items())
    openid_response = consumer.complete(args, request.build_absolute_uri(return_to))
    if openid_response.status == SUCCESS:
        return on_success(request, openid_response, redirect_to)