From f3dbae14e824e0fc1322bd290592968c2491f971 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Mon, 20 Oct 2014 09:37:25 +0200 Subject: [PATCH] Spit css and javascript blocks. see #585 --- doc/extending/events.rst | 5 +- .../core/templates/core/settings_header.html | 9 +- modoboa/core/templates/core/user_index.html | 9 +- modoboa/demo/__init__.py | 4 +- .../admin/templates/admin/domains.html | 11 +- .../admin/templates/admin/header.html | 6 +- .../admin/templates/admin/identities.html | 11 +- .../admin/templates/admin/listing.html | 9 +- .../extensions/amavis/general_callbacks.py | 4 +- .../amavis/templates/amavis/index.html | 7 +- .../extensions/limits/general_callbacks.py | 7 +- .../general_callbacks.py | 4 +- .../templates/radicale/calendars.html | 8 +- .../templates/sievefilters/index.html | 9 +- .../stats/templates/stats/index.html | 8 +- .../webmail/templates/webmail/index.html | 5 +- modoboa/lib/templatetags/lib_tags.py | 6 +- modoboa/templates/nlayout.html | 105 ++++++------------ 18 files changed, 135 insertions(+), 92 deletions(-) diff --git a/doc/extending/events.rst b/doc/extending/events.rst index 90bcef511..41b742ff7 100644 --- a/doc/extending/events.rst +++ b/doc/extending/events.rst @@ -629,10 +629,13 @@ template but need javascript stuff. *Callback prototype*:: - def callback(caller, user): pass + def callback(caller, st_type, user): pass * ``caller`` is name of the application (or the location) responsible for the call + +* ``st_type`` is the expected static content type (``css`` or ``js``) + * ``user`` is a ``User`` instance corresponding to the currently logged in user diff --git a/modoboa/core/templates/core/settings_header.html b/modoboa/core/templates/core/settings_header.html index a9f5e5138..641f8d85d 100644 --- a/modoboa/core/templates/core/settings_header.html +++ b/modoboa/core/templates/core/settings_header.html @@ -1,10 +1,15 @@ {% extends "twocols.html" %} {% load i18n lib_tags core_tags %} {% load static %} + {% block pagetitle %}{% trans "Modoboa settings" %}{% endblock %} -{% block html_head %} + +{% block extra_css %} +{% endblock %} + +{% block extra_js %} @@ -23,5 +28,7 @@ $(document).ready(function() { }); {% endblock %} + {% block leftcol %}{% admin_menu left_selection user %}{% endblock %} + {% block apparea %}
{% endblock %} diff --git a/modoboa/core/templates/core/user_index.html b/modoboa/core/templates/core/user_index.html index c03ed5b28..711603221 100644 --- a/modoboa/core/templates/core/user_index.html +++ b/modoboa/core/templates/core/user_index.html @@ -1,8 +1,13 @@ {% extends "twocols.html" %}{% load i18n core_tags lib_tags %} {% load static %} + {% block pagetitle %}{% trans "Settings" %}{% endblock %} -{% block html_head %} + +{% block extra_css %} +{% endblock %} + +{% block extra_js %} @@ -18,5 +23,7 @@ $(document).ready(function() { }); {% endblock %} + {% block leftcol %}{% uprefs_menu left_selection user %}{% endblock %} + {% block apparea %}
{% endblock %} diff --git a/modoboa/demo/__init__.py b/modoboa/demo/__init__.py index b179d6de3..a9fca9b36 100755 --- a/modoboa/demo/__init__.py +++ b/modoboa/demo/__init__.py @@ -43,8 +43,8 @@ def password_change(user): @events.observe("GetStaticContent") -def get_static_content(caller, user): - if caller != 'top' and not user.mailbox_set.count(): +def get_static_content(caller, st_type, user): + if caller != 'top' or st_type != 'js' or not user.mailbox_set.count(): return [] return [""" -{% extra_static_content "domains" user %} +{% extra_static_content "domains" "js" user %} {% endblock %} + {% block actions %}{% domains_menu "domains" user %}{% endblock %} {% block table_header %} diff --git a/modoboa/extensions/admin/templates/admin/header.html b/modoboa/extensions/admin/templates/admin/header.html index 24b03a533..1dacea7a8 100644 --- a/modoboa/extensions/admin/templates/admin/header.html +++ b/modoboa/extensions/admin/templates/admin/header.html @@ -1,7 +1,11 @@ {% extends "twocols.html" %} {% load static %} -{% block html_head %} + +{% block extra_css %} +{% endblock %} + +{% block extra_js %} diff --git a/modoboa/extensions/admin/templates/admin/identities.html b/modoboa/extensions/admin/templates/admin/identities.html index 961016f41..250c8dfd1 100644 --- a/modoboa/extensions/admin/templates/admin/identities.html +++ b/modoboa/extensions/admin/templates/admin/identities.html @@ -1,7 +1,13 @@ {% extends "admin/listing.html" %}{% load admin_tags lib_tags i18n %}{% load url from future %} {% load static %} + {% block pagetitle %}{% trans "Identities" %}{% endblock %} -{% block html_head %} + +{% block extra_css %} +{% extra_static_content "identities" "css" user %} +{% endblock %} + +{% block extra_js %} {{ block.super }} -{% extra_static_content "identities" user %} +{% extra_static_content "identities" "js" user %} {% endblock %} + {% block actions %}{% identities_menu user "identities" %}{% endblock %} diff --git a/modoboa/extensions/admin/templates/admin/listing.html b/modoboa/extensions/admin/templates/admin/listing.html index 79240fffd..a5c5c7dbb 100644 --- a/modoboa/extensions/admin/templates/admin/listing.html +++ b/modoboa/extensions/admin/templates/admin/listing.html @@ -1,8 +1,13 @@ {% extends "admin/header.html" %}{% load i18n admin_tags %} {% load static %} -{% block html_head %} + +{% block extra_css %} {{ block.super }} +{% endblock %} + +{% block extra_js %} +{{ block.super }} @@ -11,6 +16,7 @@ var admin; {% endblock %} + {% block leftcol %}