FreedomBox/plinth/urls.py
Joseph Nuthalapati 5aabac036c
sso: Fix conflict between urls of sso and captcha
django-simple-captcha's /refresh url's regex was matching anything that ends
with the word "refresh". This was clashing with sso/refresh. Changed the regex
for captcha's url to captcha/refresh.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-12-02 17:03:18 -05:00

50 lines
1.7 KiB
Python

#
# This file is part of Plinth.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
"""
Django URLconf file containing all urls
"""
from django.conf.urls import url
from django.views.generic import TemplateView
from captcha import views as cviews
from plinth.modules.sso.views import CaptchaLoginView
from stronghold.decorators import public
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^apps/$',
TemplateView.as_view(template_name='apps.html'), name='apps'),
url(r'^sys/$', views.system_index, name='system'),
# captcha urls are public
url(r'^captcha/image/(?P<key>\w+)/$',
public(cviews.captcha_image), name='captcha-image',
kwargs={'scale': 1}),
url(r'^captcha/image/(?P<key>\w+)@2/$',
public(cviews.captcha_image), name='captcha-image-2x',
kwargs={'scale': 2}),
url(r'^captcha/audio/(?P<key>\w+)/$',
public(cviews.captcha_audio), name='captcha-audio'),
url(r'^captcha/refresh/$',
public(cviews.captcha_refresh), name='captcha-refresh'),
# locked url from django-axes
url(r'locked/$', public(CaptchaLoginView.as_view()), name='locked_out'),
]