diff --git a/.gitignore b/.gitignore index 9ea51f0..1fdb3e9 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,4 @@ testproject/src/ testproject/.coverage .tox .eggs - +.idea diff --git a/rosetta/__init__.py b/rosetta/__init__.py index e5dae0b..c7ab578 100644 --- a/rosetta/__init__.py +++ b/rosetta/__init__.py @@ -1,4 +1,5 @@ VERSION = (0, 7, 13) +default_app_config = "rosetta.apps.RosettaAppConfig" def get_version(svn=False, limit=3): diff --git a/rosetta/apps.py b/rosetta/apps.py new file mode 100644 index 0000000..467b996 --- /dev/null +++ b/rosetta/apps.py @@ -0,0 +1,40 @@ +from django.apps import AppConfig +from django.views.decorators.cache import never_cache +from django.core.urlresolvers import reverse +from django.utils.translation import ugettext as _ + +from rosetta.conf import settings as rosetta_settings + + +class RosettaAppConfig(AppConfig): + name = 'rosetta' + + def ready(self): + from django.contrib import admin + from django.contrib.admin import sites + + class RosettaAdminSite(admin.AdminSite): + @never_cache + def index(self, request, extra_context=None): + resp = super(RosettaAdminSite, self).index(request, + extra_context) + app_dict = { + 'app_url': reverse('rosetta-home'), + 'models': [ + { + 'admin_url': reverse('rosetta-home'), + 'name': _('Browse'), + 'add_url': None + }, + ], + 'has_module_perms': True, + 'name': _('Transplations'), + 'app_label': 'rosetta' + } + resp.context_data['app_list'].append(app_dict) + return resp + + if rosetta_settings.SHOW_AT_ADMIN_PANEL: + rosetta = RosettaAdminSite() + admin.site = rosetta + sites.site = rosetta diff --git a/rosetta/conf/settings.py b/rosetta/conf/settings.py index 689e458..f669988 100644 --- a/rosetta/conf/settings.py +++ b/rosetta/conf/settings.py @@ -86,3 +86,5 @@ ROSETTA_LANGUAGE_GROUPS = getattr(settings, 'ROSETTA_LANGUAGE_GROUPS', False) # Determines whether the MO file is automatically compiled when the PO file is saved. AUTO_COMPILE = getattr(settings, 'ROSETTA_AUTO_COMPILE', True) + +SHOW_AT_ADMIN_PANEL = getattr(settings, 'SHOW_AT_ADMIN_PANEL', False)