Index: /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/models/admintools/user/__init__.py
===================================================================
--- /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/models/admintools/user/__init__.py	(revision 38575)
+++ /branches/rel_apv_10_7/usr/click/webui/htdocs/new/src/apv/models/admintools/user/__init__.py	(working copy)
@@ -35,8 +35,6 @@
                            ('config', 'Config', ''),
                            ('api', 'API', ''),
                            )),
-    })
-    admin_asso_role = FieldGroup(verbose_name=_('Role Management'), level=ADVANCED, fields={
         'role_management' : AssoField2(verbose_name=_('Role Management'),
                                 tgt='admintools.user.Role.administrator',
                                 monitorable=True, mul='*', pos='left', optional=True, editable=True)
@@ -112,19 +110,25 @@
                 return QuerySet(self._model, None)
             else:
                 result = cli_parse(data, EasyParser('user', ['?username', '?passwords', '?level']))
+                get_role_user = self.cli.cmd('show role user')
+                role_user_map = {}
+                if 'role user' in get_role_user:
+                    role_res = cli_parse(get_role_user,
+                                RegexParser('role user \"(?P<username>\S+)\" \"(?P<role_name>\S+)\"', MATCHALL, reflags=re.S))
+                    for entry in role_res:
+                        if entry['username'] not in role_user_map:
+                            role_user_map[entry['username']] = []
+                        role_user_map[entry['username']].append({"role_name": entry['role_name']})
                 for data in result:
                     data['passwords'] = '' if 'passwords' not in data else data['passwords']
+                    data['role_management'] = ""
+                    if data['username'] in role_user_map:
+                        data['role_management'] = role_user_map[data['username']]
                 return QuerySet(self._model, result)
 
         def _get_two_factor_condition(self,pk_dict):
             return local_equirement()
 
-        def _get_role_management(self, pk_dict):
-            self.cli.set_enable()
-            result = self.cli.cmd('show role user', 
-                                  EasyParser('role user "%s"' % pk_dict['username'], ['?role_name']))
-            return result
-
         def _insert(self, instance):
             data = instance.get_field_dict()
             self.cli.set_config()
