diff --git a/jumpserver/views.py b/jumpserver/views.py index eed1d4f4f..b9e547a0c 100644 --- a/jumpserver/views.py +++ b/jumpserver/views.py @@ -48,105 +48,13 @@ def get_data(data, items, option): dic[name] = li return dic -class CustomUser(object): - def __init__(self,request): - self.requset = request - def __unicode__(self): - return self.requset.user.username - - def get_asset_group(self): - """ - Get user host_groups. - 获取用户有权限的主机组 - """ - host_group_list = [] - perm_list = [] - user_group_all = self.requset.user.group.all() - for user_group in user_group_all: - perm_list.extend(user_group.perm_set.all()) - - for perm in perm_list: - host_group_list.append(perm.asset_group) - - return host_group_list - - def get_asset_group_info(self, printable=False): - """ - Get or print asset group info - 获取或打印用户授权资产组 - """ - asset_groups_info = {} - asset_groups = self.get_asset_group() - - for asset_group in asset_groups: - asset_groups_info[asset_group.id] = [asset_group.name, asset_group.comment] - - if printable: - for group_id in asset_groups_info: - if asset_groups_info[group_id][1]: - print "[%3s] %s -- %s" % (group_id, - asset_groups_info[group_id][0], - asset_groups_info[group_id][1]) - else: - print "[%3s] %s" % (group_id, asset_groups_info[group_id][0]) - print '' - else: - return asset_groups_info - - def get_asset(self): - """ - Get the assets of under the user control. - 获取主机列表 - """ - assets = [] - asset_groups = self.get_asset_group() - - for asset_group in asset_groups: - assets.extend(asset_group.asset_set.all()) - - return assets - - def get_asset_info(self, printable=False): - """ - Get or print the user asset info - 获取或打印用户资产信息 - """ - from jasset.models import AssetAlias - assets_info = {} - assets = self.get_asset() - - for asset in assets: - asset_alias = AssetAlias.objects.filter(user=self, asset=asset) - if asset_alias and asset_alias[0].alias != '': - assets_info[asset.ip] = [asset.id, asset.ip, str(asset_alias[0].alias)] - else: - assets_info[asset.ip] = [asset.id, asset.ip, str(asset.comment)] - - if printable: - ips = assets_info.keys() - ips.sort() - for ip in ips: - if assets_info[ip][2]: - print '%-15s -- %s' % (ip, assets_info[ip][2]) - else: - print '%-15s' % ip - print '' - else: - return assets_info - - -# @login_required @require_role(role='user') def index_cu(request): - # user_id = request.session.get('user_id') - # user = get_object(User, id=user_id) - # user = {} - # user.name = request.user.username - # user.username = request.user.username - # user.id = request.user.id + user_id = request.session.get('user_id') + user = get_object(User, id=user_id) login_types = {'L': 'LDAP', 'M': 'MAP'} - user = CustomUser(request) + username = user.username posts = user.get_asset() host_count = len(posts) new_posts = [] diff --git a/juser/models.py b/juser/models.py index 6143cab78..41dd705ad 100644 --- a/juser/models.py +++ b/juser/models.py @@ -21,6 +21,7 @@ class UserGroup(models.Model): from django.contrib.auth.models import AbstractUser + class User(AbstractUser): USER_ROLE_CHOICES = ( ('SU', 'SuperUser'),