diff --git a/modoboa/admin/views/domain.py b/modoboa/admin/views/domain.py index 4014897d9..c7f29cf5b 100644 --- a/modoboa/admin/views/domain.py +++ b/modoboa/admin/views/domain.py @@ -3,6 +3,7 @@ from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect from django.shortcuts import render +from django.template.loader import render_to_string from django.utils.translation import ugettext as _, ungettext from django.views import generic from django.views.decorators.csrf import ensure_csrf_cookie @@ -15,9 +16,7 @@ from django.contrib.auth.decorators import ( from reversion import revisions as reversion from modoboa.core import signals as core_signals -from modoboa.lib.web_utils import ( - _render_to_string, render_to_json_response -) +from modoboa.lib.web_utils import render_to_json_response from modoboa.lib.exceptions import ( PermDeniedException ) @@ -71,13 +70,13 @@ def _domains(request): context["length"] = 0 else: parameters = request.localconfig.parameters - context["rows"] = _render_to_string( - request, "admin/domains_table.html", { + context["rows"] = render_to_string( + "admin/domains_table.html", { "domains": page.object_list, "enable_mx_checks": parameters.get_value("enable_mx_checks"), "enable_dnsbl_checks": ( parameters.get_value("enable_dnsbl_checks")) - } + }, request ) context["pages"] = [page.number] return render_to_json_response(context) diff --git a/modoboa/admin/views/identity.py b/modoboa/admin/views/identity.py index 605df0ea4..b77773c5b 100644 --- a/modoboa/admin/views/identity.py +++ b/modoboa/admin/views/identity.py @@ -1,6 +1,7 @@ """Identity related views.""" from django.shortcuts import render +from django.template.loader import render_to_string from django.utils.translation import ugettext as _, ungettext from django.views import generic from django.views.decorators.csrf import ensure_csrf_cookie @@ -19,9 +20,7 @@ from modoboa.lib.exceptions import ( from modoboa.lib.listing import ( get_sort_order, get_listing_page ) -from modoboa.lib.web_utils import ( - _render_to_string, render_to_json_response -) +from modoboa.lib.web_utils import render_to_json_response from ..forms import AccountForm, AccountWizard from ..lib import get_identities @@ -55,12 +54,12 @@ def _identities(request): if page is None: context["length"] = 0 else: - context["headers"] = _render_to_string( - request, "admin/identity_headers.html", {}) - context["rows"] = _render_to_string( - request, "admin/identities_table.html", { + context["headers"] = render_to_string( + "admin/identity_headers.html", {}, request) + context["rows"] = render_to_string( + "admin/identities_table.html", { "identities": page.object_list - } + }, request ) context["pages"] = [page.number] return render_to_json_response(context) @@ -111,17 +110,15 @@ def list_quotas(request): raise BadRequest(_("Invalid request")) page = get_listing_page(mboxes, request.GET.get("page", 1)) context = { - "headers": _render_to_string( - request, "admin/quota_headers.html", {} + "headers": render_to_string( + "admin/quota_headers.html", {}, request ) } if page is None: context["length"] = 0 else: - context["rows"] = _render_to_string( - request, "admin/quotas.html", { - "mboxes": page - } + context["rows"] = render_to_string( + "admin/quotas.html", {"mboxes": page}, request ) context["pages"] = [page.number] return render_to_json_response(context) diff --git a/modoboa/admin/views/user.py b/modoboa/admin/views/user.py index c9d548f09..07af14f4e 100644 --- a/modoboa/admin/views/user.py +++ b/modoboa/admin/views/user.py @@ -1,13 +1,13 @@ """SimpleUsers views.""" -from django.contrib.auth.decorators import login_required +from django.template.loader import render_to_string from django.utils.translation import ugettext as _ +from django.contrib.auth.decorators import login_required + from reversion import revisions as reversion -from modoboa.lib.web_utils import ( - render_to_json_response, _render_to_string -) +from modoboa.lib.web_utils import render_to_json_response from ..forms import ForwardForm from ..lib import needs_mailbox @@ -49,7 +49,5 @@ def forward(request, tplname="admin/forward.html"): recipients.remove(mb.full_address) form.fields["dest"].initial = "\n".join(recipients) return render_to_json_response({ - "content": _render_to_string(request, tplname, { - "form": form - }) + "content": render_to_string(tplname, {"form": form}, request) }) diff --git a/modoboa/core/views/admin.py b/modoboa/core/views/admin.py index 9371341d2..d1bdba05b 100644 --- a/modoboa/core/views/admin.py +++ b/modoboa/core/views/admin.py @@ -10,9 +10,7 @@ from django.utils.translation import ugettext as _ from modoboa.core.models import Log from modoboa.core.utils import check_for_updates from modoboa.lib.listing import get_sort_order, get_listing_page -from modoboa.lib.web_utils import ( - _render_to_string, render_to_json_response -) +from modoboa.lib.web_utils import render_to_json_response from modoboa.parameters import tools as param_tools from .. import signals @@ -46,10 +44,10 @@ def parameters(request, tplname="core/parameters.html"): return render_to_json_response(_("Parameters saved")) return render_to_json_response({ "left_selection": "parameters", - "content": _render_to_string(request, tplname, { + "content": render_to_string(tplname, { "forms": param_tools.registry.get_forms( "global", localconfig=request.localconfig) - }) + }, request) }) diff --git a/modoboa/core/views/auth.py b/modoboa/core/views/auth.py index 89a6a271b..5ca158c1d 100644 --- a/modoboa/core/views/auth.py +++ b/modoboa/core/views/auth.py @@ -5,6 +5,7 @@ import logging from django.core.urlresolvers import reverse from django.http import HttpResponse, HttpResponseRedirect +from django.template.loader import render_to_string from django.utils import translation from django.utils.translation import ugettext as _ from django.views.decorators.cache import never_cache @@ -12,7 +13,6 @@ from django.views.decorators.cache import never_cache from django.contrib.auth import authenticate, login, logout from modoboa.core.forms import LoginForm -from modoboa.lib.web_utils import _render_to_string from .base import find_nextlocation from .. import signals @@ -64,10 +64,13 @@ def dologin(request): announcements = signals.get_announcements.send( sender="login", location="loginpage") announcements = [announcement[1] for announcement in announcements] - return HttpResponse(_render_to_string(request, "registration/login.html", { - "form": form, "error": error, "next": nextlocation, - "annoucements": announcements - }), status=httpcode) + return HttpResponse( + render_to_string( + "registration/login.html", { + "form": form, "error": error, "next": nextlocation, + "annoucements": announcements}, + request), + status=httpcode) dologin = never_cache(dologin) diff --git a/modoboa/core/views/user.py b/modoboa/core/views/user.py index 86a02d099..03abc3da0 100644 --- a/modoboa/core/views/user.py +++ b/modoboa/core/views/user.py @@ -1,6 +1,7 @@ """Simple user views.""" from django.shortcuts import render +from django.template.loader import render_to_string from django.utils import translation from django.utils.translation import ugettext as _ @@ -9,9 +10,7 @@ from django.contrib.auth.decorators import login_required, user_passes_test from rest_framework.authtoken.models import Token from modoboa.lib.cryptutils import encrypt -from modoboa.lib.web_utils import ( - _render_to_string, render_to_json_response -) +from modoboa.lib.web_utils import render_to_json_response from modoboa.parameters import tools as param_tools from ..forms import ProfileForm, APIAccessForm @@ -51,9 +50,9 @@ def profile(request, tplname='core/user_profile.html'): form = ProfileForm(update_password, instance=request.user) return render_to_json_response({ - "content": _render_to_string(request, tplname, { + "content": render_to_string(tplname, { "form": form - }) + }, request) }) @@ -74,10 +73,10 @@ def preferences(request): return render_to_json_response(_("Preferences saved")) return render_to_json_response({ - "content": _render_to_string(request, "core/user_preferences.html", { + "content": render_to_string("core/user_preferences.html", { "forms": param_tools.registry.get_forms( "user", user=request.user, first_app="general") - }) + }, request) }) @@ -98,6 +97,6 @@ def api_access(request): }, status=400) form = APIAccessForm(user=request.user) return render_to_json_response({ - "content": _render_to_string( - request, "core/api_access.html", {"form": form}) + "content": render_to_string( + "core/api_access.html", {"form": form}, request) }) diff --git a/modoboa/lib/web_utils.py b/modoboa/lib/web_utils.py index 9921a85ec..1099b6dac 100644 --- a/modoboa/lib/web_utils.py +++ b/modoboa/lib/web_utils.py @@ -15,15 +15,6 @@ from django.shortcuts import render from django.template.loader import render_to_string -def _render_to_string(request, tpl, user_context): - """Custom rendering function. - - Just a wrapper which automatically adds a RequestContext instance - (useful to use settings variables like STATIC_URL inside templates) - """ - return render_to_string(tpl, user_context, request) - - def _render_error(request, errortpl="error", user_context=None): if user_context is None: user_context = {} @@ -72,7 +63,7 @@ def ajax_response(request, status="ok", respmsg=None, for k, v in kwargs.iteritems(): ctx[k] = v if template is not None: - content = _render_to_string(request, template, ctx) + content = render_to_string(template, ctx, request) elif "content" in kwargs: content = kwargs["content"] else: