Explorar o código

HUE-6260 [core] Do not leak user preference in IS_HUE_4 global variable

Romain Rigaux %!s(int64=8) %!d(string=hai) anos
pai
achega
a261a1b

+ 2 - 0
desktop/core/src/desktop/templates/common_header.mako

@@ -282,7 +282,9 @@ ${ hueIcons.symbols() }
           % if user.is_superuser:
             <li><a href="${ url('useradmin.views.list_users') }"><i class="fa fa-fw fa-group"></i> ${_('Manage Users')}</a></li>
           % endif
+          % if conf.IS_HUE_4.get():
           <li><a href="javascript:void(0)" onclick="huePubSub.publish('set.hue.version', 4)"><i class="fa fa-fw fa-exchange"></i> ${_('Switch to Hue 4')}</a></li>
+          % endif
         </ul>
       </li>
     % else:

+ 8 - 6
desktop/core/src/desktop/views.py

@@ -317,16 +317,18 @@ def unsupported(request):
   return render('unsupported.mako', request, None)
 
 def index(request):
-  try:
-    user_hue_version = json.loads(UserPreferences.objects.get(user=request.user, key='hue_version').value)
-    IS_HUE_4.set_for_testing(user_hue_version >= 4)
-  except UserPreferences.DoesNotExist:
-    pass
+  is_hue_4 = IS_HUE_4.get()
+  if is_hue_4:
+    try:
+      user_hue_version = json.loads(UserPreferences.objects.get(user=request.user, key='hue_version').value)
+      is_hue_4 = user_hue_version >= 4
+    except UserPreferences.DoesNotExist:
+      pass
 
   if request.user.is_superuser and request.COOKIES.get('hueLandingPage') != 'home' and not IS_HUE_4.get():
     return redirect(reverse('about:index'))
   else:
-    if IS_HUE_4.get():
+    if is_hue_4:
       return redirect('desktop.views.hue')
     elif USE_NEW_EDITOR.get():
       return home2(request)