Commit 9324935c authored by Claude Paroz's avatar Claude Paroz
Browse files

Fixed #25295 -- Restored 'no active translation' after language override

Thanks David Nelson Adamec for the report and Tim Graham for the review.
parent 4ce433e8
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -164,7 +164,9 @@ class override(ContextDecorator):
            deactivate_all()

    def __exit__(self, exc_type, exc_value, traceback):
        if self.deactivate:
        if self.old_language is None:
            deactivate_all()
        elif self.deactivate:
            deactivate()
        else:
            activate(self.old_language)
+2 −0
Original line number Diff line number Diff line
@@ -13,3 +13,5 @@ Bugfixes
  field that is both a foreign and primary key (:ticket:`24951`).

* Fixed a migrations crash with ``GenericForeignKey`` (:ticket:`25040`).
* Made ``translation.override()`` clear the overridden language when a
  translation isn't initially active (:ticket:`25295`).
+3 −0
Original line number Diff line number Diff line
@@ -76,6 +76,9 @@ class TranslationTests(SimpleTestCase):
            self.assertEqual(get_language(), 'de')
            with translation.override(None):
                self.assertEqual(get_language(), None)
                with translation.override('pl'):
                    pass
                self.assertEqual(get_language(), None)
            self.assertEqual(get_language(), 'de')
        finally:
            deactivate()