entities/authobjs.py
changeset 8538 00597256de18
parent 8483 4ba11607d84a
child 8544 3d049071957e
--- a/entities/authobjs.py	Mon Sep 10 14:00:09 2012 +0200
+++ b/entities/authobjs.py	Mon Sep 10 13:53:59 2012 +0200
@@ -77,6 +77,19 @@
             self._properties = dict((p.pkey, p.value) for p in self.reverse_for_user)
             return self._properties
 
+    def prefered_language(self, language=None):
+        """return language used by this user, if explicitly defined (eg not
+        using http negociation)
+        """
+        language = language or self.property_value('ui.language')
+        vreg = self._cw.vreg
+        try:
+            vreg.config.translations[language]
+        except KeyError:
+            language = vreg.property_value('ui.language')
+            assert language in vreg.config.translations[language], language
+        return language
+
     def property_value(self, key):
         try:
             # properties stored on the user aren't correctly typed