diff --git a/mayan/apps/common/apps.py b/mayan/apps/common/apps.py index 86dbe5e5c1..c296d11dea 100644 --- a/mayan/apps/common/apps.py +++ b/mayan/apps/common/apps.py @@ -14,12 +14,12 @@ from django.utils.translation import ugettext_lazy as _ from common import settings as common_settings from .links import ( - link_about, link_current_user_details, link_current_user_edit, - link_current_user_locale_profile_details, + link_about, link_admin_site, link_current_user_details, + link_current_user_edit, link_current_user_locale_profile_details, link_current_user_locale_profile_edit, link_license, link_logout, - link_password_change + link_maintenance_menu, link_password_change, link_setup, link_tools ) -from .menus import menu_main, menu_secondary +from .menus import menu_main, menu_secondary, menu_setup, menu_tools from .models import ( AnonymousUserSingleton, AutoAdminSingleton, UserLocaleProfile ) @@ -103,10 +103,14 @@ class CommonApp(apps.AppConfig): link_current_user_details, link_current_user_edit, link_current_user_locale_profile_details, link_current_user_locale_profile_edit, - link_password_change, link_logout + link_password_change, link_tools, link_setup, link_logout ], - sources=['common:current_user_details', 'common:current_user_edit', 'common:current_user_locale_profile_details', 'common:current_user_locale_profile_edit', 'common:password_change_view'] + sources=['common:current_user_details', 'common:current_user_edit', 'common:current_user_locale_profile_details', 'common:current_user_locale_profile_edit', 'common:password_change_view', 'common:setup_list', 'common:tools_list'] ) + #menu_main.bind_links(links=[link_setup], position=1) + #menu_main.bind_links(links=[link_tools], position=-3) + menu_setup.bind_links(links=[link_admin_site]) + menu_tools.bind_links(links=[link_maintenance_menu]) post_migrate.connect(create_superuser_and_anonymous_user, dispatch_uid='create_superuser_and_anonymous_user') post_save.connect(auto_admin_account_passwd_change, dispatch_uid='auto_admin_account_passwd_change', sender=User) diff --git a/mayan/apps/common/links.py b/mayan/apps/common/links.py index d16e18ea4f..fbfb514195 100644 --- a/mayan/apps/common/links.py +++ b/mayan/apps/common/links.py @@ -9,11 +9,19 @@ def has_usable_password(context): return context['request'].user.has_usable_password +def is_superuser(context): + return context['request'].user.is_staff or context['request'].user.is_superuser + + link_about = Link(icon='fa fa-question', text=_('About'), view='common:about_view') +link_admin_site = Link(condition=is_superuser, icon='fa fa-keyboard-o', text=_('Admin site'), view='admin:index') link_current_user_details = Link(icon='fa fa-user', text=_('User details'), view='common:current_user_details') link_current_user_edit = Link(icon='fa fa-user', text=_('Edit details'), view='common:current_user_edit') link_current_user_locale_profile_details = Link(icon='fa fa-globe', text=_('Locale profile'), view='common:current_user_locale_profile_details') link_current_user_locale_profile_edit = Link(icon='fa fa-globe', text=_('Edit locale profile'), view='common:current_user_locale_profile_edit') link_license = Link(icon='fa fa-book', text=_('License'), view='common:license_view') link_logout = Link(icon='fa fa-sign-out', text=_('Logout'), view='common:logout_view') +link_maintenance_menu = Link(icon='fa fa-wrench', text=_('Maintenance'), view='main:maintenance_menu') link_password_change = Link(condition=has_usable_password, icon='fa fa-key', text=_('Change password'), view='common:password_change_view') +link_setup = Link(icon='fa fa-gear', text=_('Setup'), view='common:setup_list') +link_tools = Link(icon='fa fa-wrench', text=_('Tools'), view='common:tools_list') diff --git a/mayan/apps/common/urls.py b/mayan/apps/common/urls.py index b835e07682..ba1e3b73be 100644 --- a/mayan/apps/common/urls.py +++ b/mayan/apps/common/urls.py @@ -18,6 +18,9 @@ urlpatterns = patterns('common.views', url(r'^login/$', 'login_view', (), name='login_view'), url(r'^password/change/$', 'password_change_view', (), name='password_change_view'), + + url(r'^setup/$', 'setup_list', (), 'setup_list'), + url(r'^tools/$', 'tools_list', (), 'tools_list'), ) urlpatterns += patterns('', diff --git a/mayan/apps/common/views.py b/mayan/apps/common/views.py index 4a3c3e0806..90d8104618 100644 --- a/mayan/apps/common/views.py +++ b/mayan/apps/common/views.py @@ -21,6 +21,7 @@ from .forms import ( ChoiceForm, EmailAuthenticationForm, LicenseForm, LocaleProfileForm, LocaleProfileForm_view, UserForm, UserForm_view ) +from .menus import menu_tools, menu_setup from .mixins import ( ExtraContextMixin, ObjectListPermissionFilterMixin, ObjectPermissionCheckMixin, RedirectionMixin, ViewPermissionCheckMixin @@ -451,3 +452,23 @@ class MultiFormView(FormView): return self.forms_valid(forms) else: return self.forms_invalid(forms) + + +def setup_list(request): + context = { + 'object_navigation_links': menu_setup.resolve(context=RequestContext(request)), + 'title': _('Setup items'), + } + + return render_to_response('appearance/generic_list_horizontal.html', context, + context_instance=RequestContext(request)) + + +def tools_list(request): + context = { + 'object_navigation_links': menu_tools.resolve(context=RequestContext(request)), + 'title': _('Tools'), + } + + return render_to_response('appearance/generic_list_horizontal.html', context, + context_instance=RequestContext(request)) diff --git a/mayan/apps/main/api.py b/mayan/apps/main/api.py index 30e4df9e58..29dd3616fa 100644 --- a/mayan/apps/main/api.py +++ b/mayan/apps/main/api.py @@ -1,8 +1,5 @@ from __future__ import unicode_literals -from django.core.urlresolvers import reverse_lazy - -diagnostics = {} tools = {} diff --git a/mayan/apps/main/apps.py b/mayan/apps/main/apps.py index b4de5e8d06..2ab19f074f 100644 --- a/mayan/apps/main/apps.py +++ b/mayan/apps/main/apps.py @@ -3,20 +3,7 @@ from __future__ import unicode_literals from django import apps from django.utils.translation import ugettext_lazy as _ -from common import menu_main, menu_setup, menu_tools - - -from .links import ( - link_admin_site, link_maintenance_menu, link_tools, link_setup, link_tools -) - class MainApp(apps.AppConfig): name = 'main' verbose_name = _('Main') - - def ready(self): - menu_main.bind_links(links=[link_setup], position=1) - menu_main.bind_links(links=[link_tools], position=-3) - menu_setup.bind_links(links=[link_admin_site]) - menu_tools.bind_links(links=[link_maintenance_menu]) diff --git a/mayan/apps/main/links.py b/mayan/apps/main/links.py deleted file mode 100644 index a147677002..0000000000 --- a/mayan/apps/main/links.py +++ /dev/null @@ -1,15 +0,0 @@ -from __future__ import unicode_literals - -from django.utils.translation import ugettext_lazy as _ - -from navigation import Link - - -def is_superuser(context): - return context['request'].user.is_staff or context['request'].user.is_superuser - - -link_admin_site = Link(condition=is_superuser, icon='fa fa-keyboard-o', text=_('Admin site'), view='admin:index') -link_maintenance_menu = Link(icon='fa fa-wrench', text=_('Maintenance'), view='main:maintenance_menu') -link_setup = Link(icon='fa fa-gear', text=_('Setup'), view='main:setup_list') -link_tools = Link(icon='fa fa-wrench', text=_('Tools'), view='main:tools_list') diff --git a/mayan/apps/main/urls.py b/mayan/apps/main/urls.py index 1d5d3ed1ad..bd196b72c4 100644 --- a/mayan/apps/main/urls.py +++ b/mayan/apps/main/urls.py @@ -7,8 +7,6 @@ from django.views.generic import RedirectView urlpatterns = patterns('main.views', url(r'^$', 'home', (), 'home'), url(r'^maintenance_menu/$', 'maintenance_menu', (), 'maintenance_menu'), - url(r'^setup/$', 'setup_list', (), 'setup_list'), - url(r'^tools/$', 'tools_list', (), 'tools_list'), ) urlpatterns += patterns('', diff --git a/mayan/apps/main/views.py b/mayan/apps/main/views.py index 4abf16aa61..c8fc14ff83 100644 --- a/mayan/apps/main/views.py +++ b/mayan/apps/main/views.py @@ -5,11 +5,10 @@ from django.shortcuts import render_to_response from django.template import RequestContext from django.utils.translation import ugettext_lazy as _ -from common.menus import menu_setup, menu_tools from dynamic_search.classes import SearchModel from permissions.models import Permission -from .api import diagnostics, tools +from .api import tools from .classes import MissingItem @@ -52,23 +51,3 @@ def maintenance_menu(request): 'blocks': user_tools, 'title': _('Maintenance menu') }, context_instance=RequestContext(request)) - - -def setup_list(request): - context = { - 'object_navigation_links': menu_setup.resolve(context=RequestContext(request)), - 'title': _('Setup items'), - } - - return render_to_response('appearance/generic_list_horizontal.html', context, - context_instance=RequestContext(request)) - - -def tools_list(request): - context = { - 'object_navigation_links': menu_tools.resolve(context=RequestContext(request)), - 'title': _('Tools'), - } - - return render_to_response('appearance/generic_list_horizontal.html', context, - context_instance=RequestContext(request))