Browse Source

fix #899: added language code cache buster to js catalog view

Rafał Pitoń 7 years ago
parent
commit
46c4fb6c93

+ 12 - 0
misago/core/tests/test_jsi18n_url.py

@@ -0,0 +1,12 @@
+from django.conf import settings
+from django.test import TestCase
+from django.urls import reverse
+
+
+class JsI18nUrlTests(TestCase):
+    def test_js_i18n_url_cache_buster(self):
+        """js i18n catalog link has cachebuster with lang code"""
+        url = '{}?{}'.format(reverse('django-i18n'), settings.LANGUAGE_CODE)
+
+        response = self.client.get(reverse('misago:index'))
+        self.assertContains(response, url)

+ 3 - 3
misago/project_template/project_name/urls.py

@@ -35,14 +35,14 @@ urlpatterns = [
     # Javascript translations
     url(
         r'^django-i18n.js$',
-        cache_page(86400 * 2, key_prefix='misagojsi18n')(
-            last_modified(lambda req, **kw: timezone.now())(
+        last_modified(lambda req, **kw: timezone.now())(
+            cache_page(86400 * 2, key_prefix='misagojsi18n')(
                 JavaScriptCatalog.as_view(
                     packages=['misago'],
                 ),
             ),
         ),
-        name='django-i18n'
+        name='django-i18n',
     ),
 
     # Uncomment next line if you plan to use Django admin for 3rd party apps

+ 1 - 1
misago/templates/misago/base.html

@@ -41,7 +41,7 @@
 
     <div class="modal fade" id="modal-mount" tabindex="-1" role="dialog" aria-labelledby="misago-modal-label"></div>
 
-    <script src="{% url 'django-i18n' %}"></script>
+    <script src="{% url 'django-i18n' %}?{{ LANGUAGE_CODE }}"></script>
     <script type="text/javascript">
       if (!(Object.assign && Array.from)) {
         var polyfill = document.createElement('script');