Support variable MANAGER_HOMEPAGE_URL and MANAGER_HOMEPAGE_TILE for the first element of the manager breadcrumb (fixes #6690)

The goal is to ease integration of A2 manager in an administration
portal by permitting global navigation between sites.
This commit is contained in:
Benjamin Dauvergne 2015-03-11 11:38:28 +01:00
parent c38ee5e7c6
commit 6b9606a2c0
3 changed files with 25 additions and 7 deletions

View File

@ -4,9 +4,28 @@ class AppSettings(object):
__PREFIX = 'A2_MANAGER_'
__DEFAULTS = {
'HOMEPAGE_URL': None,
'HOMEPAGE_TITLE': None,
'LOGOUT_URL': None,
}
@property
def HOMEPAGE_URL(self):
from django.conf import settings
return getattr(settings,
'%sHOMEPAGE_URL' % self.__PREFIX,
getattr(settings,
'MANAGER_HOMEPAGE_URL',
self.__DEFAULTS['HOMEPAGE_URL']))
@property
def HOMEPAGE_TITLE(self):
from django.conf import settings
return getattr(settings,
'%sHOMEPAGE_TITLE' % self.__PREFIX,
getattr(settings,
'MANAGER_HOMEPAGE_TITLE',
self.__DEFAULTS['HOMEPAGE_URL']))
def __getattr__(self, name):
from django.conf import settings
if name not in self.__DEFAULTS:

View File

@ -22,12 +22,10 @@
</script>
{% endblock %}
{% block site-url %}{{ management_homepage_url }}{% endblock %}
{% block site-title %}{% trans "Management" %}{% endblock %}
{% block homepage-url %}{{ homepage_url }}{% endblock %}
{% block homepage-title %}{% trans "Management" as default_homepage_title %}{% firstof homepage_title default_homepage_title %}{% endblock %}
{% block logout-url %}{{ management_logout_url }}{% endblock %}
{% block homepage-url %}{% url "a2-manager-homepage" %}{% endblock %}
{% block logout-url %}{{ logout_url }}{% endblock %}
{% block appbar %}
<h2>{% block page_title %}{% endblock %}</h2>

View File

@ -35,8 +35,9 @@ class Action(object):
class ManagerMixin(object):
def get_context_data(self, **kwargs):
ctx = super(ManagerMixin, self).get_context_data(**kwargs)
ctx['management_homepage_url'] = app_settings.HOMEPAGE_URL or reverse('auth_homepage')
ctx['management_logout_url'] = app_settings.LOGOUT_URL or reverse('auth_logout')
ctx['homepage_url'] = app_settings.HOMEPAGE_URL or reverse('auth_homepage')
ctx['homepage_title'] = app_settings.HOMEPAGE_TITLE
ctx['logout_url'] = app_settings.LOGOUT_URL or reverse('auth_logout')
return ctx
class RolesMixin(ManagerMixin):