Fixed case if a user has an account with an empty config field
[unfold.git] / portal / manageuserview.py
index 14c5fe0..4f5c72f 100644 (file)
@@ -1,7 +1,7 @@
 from unfold.loginrequired               import LoginRequiredAutoLogoutView
 #
 from manifold.core.query                import Query
-from manifold.manifoldapi               import execute_query, execute_admin_query
+from manifoldapi.manifoldapi            import execute_query, execute_admin_query
 from portal.actions                     import manifold_update_user, manifold_update_account, manifold_add_account, manifold_delete_account, sfa_update_user
 #
 from unfold.page                        import Page    
@@ -11,12 +11,12 @@ from django.http                        import HttpResponse, HttpResponseRedirec
 from django.contrib                     import messages
 from django.contrib.auth.decorators     import login_required
 from django.core.mail                   import send_mail
-
+from theme import ThemeView
 #
 import json, os, re, itertools
 
 # requires login
-class UserView(LoginRequiredAutoLogoutView):
+class UserView(LoginRequiredAutoLogoutView, ThemeView):
     template_name = "manageuserview.html"
     def dispatch(self, *args, **kwargs):
         return super(UserView, self).dispatch(*args, **kwargs)
@@ -97,10 +97,11 @@ class UserView(LoginRequiredAutoLogoutView):
             for account_detail in account_details:
                 if platform_detail['platform_id'] == account_detail['platform_id']:
                     platform_name = platform_detail['platform']
-                    account_config = json.loads(account_detail['config'])
-                    account_usr_hrn = account_config.get('user_hrn','N/A')
-                    account_pub_key = account_config.get('user_public_key','N/A')
-                    account_reference = account_config.get ('reference_platform','N/A')
+                    if 'config' in account_detail and account_detail['config'] is not '':
+                        account_config = json.loads(account_detail['config'])
+                        account_usr_hrn = account_config.get('user_hrn','N/A')
+                        account_pub_key = account_config.get('user_public_key','N/A')
+                        account_reference = account_config.get ('reference_platform','N/A')
                     # credentials of myslice platform
                     if 'myslice' in platform_detail['platform']:
                         acc_user_cred = account_config.get('delegated_user_credential','N/A')
@@ -206,6 +207,7 @@ class UserView(LoginRequiredAutoLogoutView):
         context['topmenu_items'] = topmenu_items_live('My Account', page)
         # so we can sho who is logged
         context['username'] = the_user(self.request)
+        context['theme'] = self.theme
 #        context ['firstname'] = config['firstname']
         prelude_env = page.prelude_env()
         context.update(prelude_env)