Browse Source

Merge pull request #295 from tracim/fix/141/frontend_t9n_access

Tracim 7 years ago
parent
commit
82829edef2

+ 23 - 7
tracim/tracim/lib/helpers.py View File

2
 
2
 
3
 """WebHelpers used in tracim."""
3
 """WebHelpers used in tracim."""
4
 
4
 
5
-#from webhelpers import date, feedgenerator, html, number, misc, text
5
+# from webhelpers import date, feedgenerator, html, number, misc, text
6
 
6
 
7
 import datetime
7
 import datetime
8
 
8
 
9
-import pytz
10
-import slugify
11
 from babel.dates import format_date
9
 from babel.dates import format_date
12
 from babel.dates import format_time
10
 from babel.dates import format_time
13
 from markupsafe import Markup
11
 from markupsafe import Markup
14
-
12
+import pytz
13
+import slugify
15
 import tg
14
 import tg
16
 from tg import tmpl_context
15
 from tg import tmpl_context
17
 from tg.i18n import ugettext as _
16
 from tg.i18n import ugettext as _
18
 
17
 
19
 from tracim.lib import app_globals as plag
18
 from tracim.lib import app_globals as plag
20
-
21
 from tracim.lib import CST
19
 from tracim.lib import CST
22
 from tracim.lib.base import logger
20
 from tracim.lib.base import logger
23
 from tracim.lib.content import ContentApi
21
 from tracim.lib.content import ContentApi
24
 from tracim.lib.userworkspace import RoleApi
22
 from tracim.lib.userworkspace import RoleApi
25
 from tracim.lib.workspace import WorkspaceApi
23
 from tracim.lib.workspace import WorkspaceApi
26
-
27
-from tracim.model.data import ContentStatus
28
 from tracim.model.data import Content
24
 from tracim.model.data import Content
25
+from tracim.model.data import ContentStatus
29
 from tracim.model.data import ContentType
26
 from tracim.model.data import ContentType
30
 from tracim.model.data import UserRoleInWorkspace
27
 from tracim.model.data import UserRoleInWorkspace
31
 from tracim.model.data import Workspace
28
 from tracim.model.data import Workspace
32
 
29
 
33
 
30
 
31
+def get_lang() -> str:
32
+    """
33
+    Gets language code.
34
+
35
+    Provides the first language:
36
+    - asked by the request to the server,
37
+    - supported by Tracim.
38
+    """
39
+    # TODO - A.P - language code access from test environment
40
+    # try based workaround instead of raw get language call for test
41
+    # environment only, this should be set with tg.i18n.set_lang but
42
+    # I was unable to achieve that.
43
+    try:
44
+        result = tg.i18n.get_lang(all=False)[0]
45
+    except IndexError:
46
+        result = 'en'
47
+    return result
48
+
49
+
34
 def get_with_timezone(
50
 def get_with_timezone(
35
         datetime_object: datetime.datetime,
51
         datetime_object: datetime.datetime,
36
         to_timezone: str='',
52
         to_timezone: str='',

+ 1 - 1
tracim/tracim/templates/master_anonymous.mak View File

14
         <link href="${tg.url('/assets/dist/all.css')}" rel="stylesheet">
14
         <link href="${tg.url('/assets/dist/all.css')}" rel="stylesheet">
15
 
15
 
16
         <script>
16
         <script>
17
-          globalTracimLang = 'fr_FR'
17
+          globalTracimLang = ${h.get_lang()}
18
         </script>
18
         </script>
19
     </head>
19
     </head>
20
 
20
 

+ 1 - 1
tracim/tracim/templates/master_authenticated.mak View File

19
             window.addEventListener("hashchange", shiftWindow);
19
             window.addEventListener("hashchange", shiftWindow);
20
             function load() { if (window.location.hash) shiftWindow(); }
20
             function load() { if (window.location.hash) shiftWindow(); }
21
 
21
 
22
-            globalTracimLang = 'fr_FR'
22
+            globalTracimLang = ${h.get_lang()}
23
         </script>
23
         </script>
24
         <link rel="manifest" href="manifest.json?v=0.0.1" />
24
         <link rel="manifest" href="manifest.json?v=0.0.1" />
25
     </head>
25
     </head>

+ 1 - 1
tracim/tracim/templates/master_no_toolbar_no_login.mak View File

29
         <![endif]-->
29
         <![endif]-->
30
 
30
 
31
         <script>
31
         <script>
32
-          globalTracimLang = 'fr_FR'
32
+          globalTracimLang = ${h.get_lang()}
33
         </script>
33
         </script>
34
     </head>
34
     </head>
35
 
35
 

+ 1 - 1
tracim/tracim/tests/__init__.py View File

197
         logger.debug(self, 'Load extra fixtures... -> done')
197
         logger.debug(self, 'Load extra fixtures... -> done')
198
 
198
 
199
         self.app.get('/_test_vars')  # Allow to create fake context
199
         self.app.get('/_test_vars')  # Allow to create fake context
200
-        tg.i18n.set_lang('en')  # Set a default lang
200
+        tg.i18n.set_lang(['en', ])  # Set a default lang
201
 
201
 
202
     def tearDown(self):
202
     def tearDown(self):
203
         transaction.commit()
203
         transaction.commit()