Commit e62fe04f authored by Dmitry Shelepnev's avatar Dmitry Shelepnev
Browse files

Add handler403 for unsuccess authorizaton

parent b59b674e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -51,3 +51,4 @@ urlpatterns = [
        
    url(r'^$',feeds.MainFeed(), name='main'),
]
+2 −0
Original line number Diff line number Diff line
@@ -17,3 +17,5 @@ urlpatterns = [
    url(r'^bs/clear/$', views.BSClearView, name='bsclear'),
    url(r'^$',views.hello, name='main'),
]

#handler403 = 'views.handler403'
+15 −5
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ from django.contrib.auth import authenticate, login, logout, REDIRECT_FIELD_NAME
from django.contrib.auth.decorators import user_passes_test
from django.core.urlresolvers import reverse, reverse_lazy
from django.utils.html import strip_tags
from django.http import HttpResponseForbidden

from opds_catalog import models
from opds_catalog.models import Book, Author, Series, bookshelf, Counter, Catalog, Genre, lang_menu
@@ -15,6 +16,7 @@ from opds_catalog import settings
from constance import config
from opds_catalog.opds_paginator import Paginator as OPDS_Paginator


from sopds_web_backend.settings import HALF_PAGES_LINKS

def sopds_login(function=None, redirect_field_name=REDIRECT_FIELD_NAME, url=None):
@@ -535,12 +537,15 @@ def LoginView(request):
            return redirect(next_url)
        else:
            args['system_message']={'text':_('This account is not active!'),'type':'alert'}
            return render(request, 'sopds_login.html', args)
            return handler403(request,args)
            #return render(request, 'sopds_login.html', args)
    else:
        args['system_message']={'text':_('User does not exist or the password is incorrect!'),'type':'alert'}
        return render(request, 'sopds_login.html', args)
        return handler403(request,args)
        #return render(request, 'sopds_login.html', args)

    return render(request, 'sopds_login.html', args)
    return handler403(request,args)
    #return render(request, 'sopds_login.html', args)

@sopds_login(url='web:login')
def LogoutView(request):
@@ -548,3 +553,8 @@ def LogoutView(request):
    args = {}
    args['breadcrumbs'] = [_('Logout')]
    return redirect(reverse('web:main'))

def handler403(request,args):
    response = render(request, 'sopds_login.html', args)
    response.status_code = 403
    return response