Add app url namespacing to the common and main apps, fix missing namespace in the registration app, remove explict reverse_lazy for the LOGIN_URL and LOGIN_REDIRECT_URL these are expected to be views or URLs (failover)
This commit is contained in:
@@ -24,8 +24,8 @@ from .utils import validate_path
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
register_links(['current_user_details', 'current_user_edit', 'password_change_view'], [link_current_user_details, link_current_user_edit, link_password_change], menu_name='secondary_menu')
|
||||
register_links(['about_view', 'license_view', 'form_view'], [link_about, link_license], menu_name='secondary_menu')
|
||||
register_links(['common:current_user_details', 'common:current_user_edit', 'common:password_change_view'], [link_current_user_details, link_current_user_edit, link_password_change], menu_name='secondary_menu')
|
||||
register_links(['common:about_view', 'common:license_view', 'registration:form_view'], [link_about, link_license], menu_name='secondary_menu')
|
||||
|
||||
register_top_menu('about', link_about, position=-1)
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ def has_usable_password(context):
|
||||
return context['request'].user.has_usable_password
|
||||
|
||||
|
||||
link_password_change = {'text': _(u'change password'), 'view': 'password_change_view', 'famfam': 'computer_key', 'condition': has_usable_password}
|
||||
link_current_user_details = {'text': _(u'user details'), 'view': 'current_user_details', 'famfam': 'vcard'}
|
||||
link_current_user_edit = {'text': _(u'edit details'), 'view': 'current_user_edit', 'famfam': 'vcard_edit'}
|
||||
link_password_change = {'text': _(u'change password'), 'view': 'common:password_change_view', 'famfam': 'computer_key', 'condition': has_usable_password}
|
||||
link_current_user_details = {'text': _(u'user details'), 'view': 'common:current_user_details', 'famfam': 'vcard'}
|
||||
link_current_user_edit = {'text': _(u'edit details'), 'view': 'common:current_user_edit', 'famfam': 'vcard_edit'}
|
||||
|
||||
link_about = {'text': _(u'about'), 'view': 'about_view', 'famfam': 'information'}
|
||||
link_license = {'text': _(u'license'), 'view': 'license_view', 'famfam': 'script'}
|
||||
link_about = {'text': _(u'about'), 'view': 'common:about_view', 'famfam': 'information'}
|
||||
link_license = {'text': _(u'license'), 'view': 'common:license_view', 'famfam': 'script'}
|
||||
|
||||
@@ -4,10 +4,11 @@ import re
|
||||
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from ..conf.settings import ALLOW_ANONYMOUS_ACCESS
|
||||
|
||||
EXEMPT_URLS = [re.compile(settings.LOGIN_URL.lstrip('/'))]
|
||||
EXEMPT_URLS = [re.compile(reverse(settings.LOGIN_URL).lstrip('/'))]
|
||||
if hasattr(settings, 'LOGIN_EXEMPT_URLS'):
|
||||
EXEMPT_URLS += [re.compile(expr) for expr in settings.LOGIN_EXEMPT_URLS]
|
||||
|
||||
@@ -34,4 +35,4 @@ class LoginRequiredMiddleware:
|
||||
if not request.user.is_authenticated():
|
||||
path = request.path_info.lstrip('/')
|
||||
if not any(m.match(path) for m in EXEMPT_URLS):
|
||||
return HttpResponseRedirect(settings.LOGIN_URL)
|
||||
return HttpResponseRedirect(reverse(settings.LOGIN_URL))
|
||||
|
||||
@@ -181,7 +181,7 @@ def current_user_edit(request):
|
||||
Allow an user to edit his own details
|
||||
"""
|
||||
|
||||
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('current_user_details'))))
|
||||
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', reverse('common:current_user_details'))))
|
||||
|
||||
if request.method == 'POST':
|
||||
form = UserForm(instance=request.user, data=request.POST)
|
||||
@@ -245,7 +245,7 @@ def password_change_view(request):
|
||||
request,
|
||||
extra_context=context,
|
||||
template_name='main/password_change_form.html',
|
||||
post_change_redirect=reverse('password_change_done'),
|
||||
post_change_redirect=reverse('common:password_change_done'),
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ from .conf.settings import DISABLE_HOME_VIEW
|
||||
from .links import admin_site, diagnostics, maintenance_menu, sentry
|
||||
|
||||
if not DISABLE_HOME_VIEW:
|
||||
register_top_menu('home', link={'text': _(u'home'), 'view': 'home', 'famfam': 'house'}, position=0)
|
||||
register_top_menu('home', link={'text': _(u'home'), 'view': 'main:home', 'famfam': 'house'}, position=0)
|
||||
|
||||
if 'django.contrib.admin' in settings.INSTALLED_APPS:
|
||||
register_setup(admin_site)
|
||||
|
||||
@@ -5,7 +5,7 @@ def is_superuser(context):
|
||||
return context['request'].user.is_staff or context['request'].user.is_superuser
|
||||
|
||||
|
||||
maintenance_menu = {'text': _(u'maintenance'), 'view': 'maintenance_menu', 'famfam': 'wrench', 'icon': 'wrench.png'}
|
||||
diagnostics = {'text': _(u'diagnostics'), 'view': 'diagnostics', 'famfam': 'pill', 'icon': 'pill.png'}
|
||||
sentry = {'text': _(u'sentry'), 'view': 'sentry', 'famfam': 'bug', 'icon': 'bug.png', 'condition': is_superuser}
|
||||
maintenance_menu = {'text': _(u'maintenance'), 'view': 'main:maintenance_menu', 'famfam': 'wrench', 'icon': 'wrench.png'}
|
||||
diagnostics = {'text': _(u'diagnostics'), 'view': 'main:diagnostics', 'famfam': 'pill', 'icon': 'pill.png'}
|
||||
sentry = {'text': _(u'sentry'), 'view': 'main:sentry', 'famfam': 'bug', 'icon': 'bug.png', 'condition': is_superuser}
|
||||
admin_site = {'text': _(u'admin site'), 'view': 'admin:index', 'famfam': 'keyboard', 'icon': 'keyboard.png', 'condition': is_superuser}
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
{% else %}
|
||||
{% if not web_theme_hide_menus %}
|
||||
<div id="header">
|
||||
<h1><a href="{% url 'home' %}">{% project_name %}{% if debug %} {% trans "(DEBUG)" %}{% endif %} - {% registered_name %}</a></h1>
|
||||
<h1><a href="{% url 'main:home' %}">{% project_name %}{% if debug %} {% trans "(DEBUG)" %}{% endif %} - {% registered_name %}</a></h1>
|
||||
<div id="main-navigation">
|
||||
<ul class="wat-cf" style="width: 73%;">
|
||||
{% get_top_menu_links %}
|
||||
@@ -172,14 +172,14 @@
|
||||
{% trans 'Anonymous' %}
|
||||
{% else %}
|
||||
{{ user.get_full_name|default:user }}
|
||||
<a href="{% url 'current_user_details' %}" title="{% trans 'User details' %}"><span class="famfam active famfam-vcard"></span></a>
|
||||
<a href="{% url 'common:current_user_details' %}" title="{% trans 'User details' %}"><span class="famfam active famfam-vcard"></span></a>
|
||||
{% endif %}
|
||||
</li>
|
||||
|
||||
{% get_setting "MIDDLEWARE_CLASSES" as middleware_classes %}
|
||||
{% if 'django.middleware.locale.LocaleMiddleware' in middleware_classes %}
|
||||
<li>
|
||||
<form action="{% url 'set_language' %}" method="post">{% csrf_token %}
|
||||
<form action="{% url 'common:set_language' %}" method="post">{% csrf_token %}
|
||||
<select name="language" onchange="this.form.submit()">
|
||||
{% for lang in LANGUAGES %}
|
||||
<option value="{{ lang.0 }}" {% if lang.0 == LANGUAGE_CODE %}selected="selected"{% endif %}>{{ lang.0|language_name_local|capfirst }}</option>
|
||||
@@ -189,7 +189,7 @@
|
||||
</li>
|
||||
{% endif %}
|
||||
{% get_setting "LOGIN_URL" as login_url %}
|
||||
<li><a class="logout" href="{% if not user.is_authenticated %}{% url 'login_view' %}?next=/{% else %}{% url 'logout_view' %}{% endif %}">{% if not user.is_authenticated %}{% trans 'Login' %}{% else %}{% trans 'Logout' %}{% endif %}</a></li>
|
||||
<li><a class="logout" href="{% if not user.is_authenticated %}{% url 'common:login_view' %}?next=/{% else %}{% url 'common:logout_view' %}{% endif %}">{% if not user.is_authenticated %}{% trans 'Login' %}{% else %}{% trans 'Logout' %}{% endif %}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -15,7 +15,7 @@ from .conf.settings import DISABLE_HOME_VIEW
|
||||
|
||||
def home(request):
|
||||
if DISABLE_HOME_VIEW:
|
||||
return HttpResponseRedirect(reverse('document_list_recent'))
|
||||
return HttpResponseRedirect(reverse('documents:document_list_recent'))
|
||||
else:
|
||||
return render_to_response('main/home.html', {},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
@@ -9,7 +9,7 @@ from navigation.api import register_links
|
||||
from .links import form_view
|
||||
from .models import RegistrationSingleton
|
||||
|
||||
register_links(['form_view', 'about_view', 'license_view'], [form_view], menu_name='secondary_menu')
|
||||
register_links(['registration:form_view', 'common:about_view', 'common:license_view'], [form_view], menu_name='secondary_menu')
|
||||
|
||||
|
||||
@receiver(post_migrate, dispatch_uid='create_registration_instance')
|
||||
|
||||
@@ -140,8 +140,6 @@ USE_TZ = True
|
||||
|
||||
# Custom settings section
|
||||
|
||||
from django.core.urlresolvers import reverse_lazy
|
||||
|
||||
PROJECT_TITLE = 'Mayan EDMS'
|
||||
PROJECT_NAME = 'mayan'
|
||||
|
||||
@@ -213,8 +211,8 @@ SENDFILE_BACKEND = 'sendfile.backends.simple'
|
||||
# --------- Web theme ---------------
|
||||
WEB_THEME_ENABLE_SCROLL_JS = False
|
||||
# --------- Django -------------------
|
||||
LOGIN_URL = reverse_lazy('login_view')
|
||||
LOGIN_REDIRECT_URL = reverse_lazy('home')
|
||||
LOGIN_URL = 'common:login_view'
|
||||
LOGIN_REDIRECT_URL = 'main:home'
|
||||
# -------- LoginRequiredMiddleware ----------
|
||||
LOGIN_EXEMPT_URLS = (
|
||||
r'^favicon\.ico$',
|
||||
|
||||
@@ -8,8 +8,8 @@ urlpatterns = patterns('',
|
||||
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
|
||||
(r'^admin/', include(admin.site.urls)),
|
||||
|
||||
(r'^', include('common.urls')),
|
||||
(r'^', include('main.urls')),
|
||||
(r'^', include('common.urls', namespace='common')),
|
||||
(r'^', include('main.urls', namespace='main')),
|
||||
url(r'^docs/', include('rest_framework_swagger.urls')),
|
||||
(r'^documents/', include('documents.urls', namespace='documents')),
|
||||
(r'^folders/', include('folders.urls', namespace='folders')),
|
||||
|
||||
Reference in New Issue
Block a user