mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
# -*- coding: utf-8 -*-
|
|
#
|
|
import uuid
|
|
from django.db import models
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
from orgs.mixins.models import OrgModelMixin
|
|
|
|
__all__ = ['GatheredUser']
|
|
|
|
|
|
class GatheredUser(OrgModelMixin):
|
|
id = models.UUIDField(default=uuid.uuid4, primary_key=True)
|
|
asset = models.ForeignKey('assets.Asset', on_delete=models.CASCADE, verbose_name=_("Asset"))
|
|
username = models.CharField(max_length=32, blank=True, db_index=True,
|
|
verbose_name=_('Username'))
|
|
present = models.BooleanField(default=True, verbose_name=_("Present"))
|
|
date_created = models.DateTimeField(auto_now_add=True,
|
|
verbose_name=_("Date created"))
|
|
date_updated = models.DateTimeField(auto_now=True,
|
|
verbose_name=_("Date updated"))
|
|
|
|
@property
|
|
def hostname(self):
|
|
return self.asset.hostname
|
|
|
|
@property
|
|
def ip(self):
|
|
return self.asset.ip
|
|
|
|
class Meta:
|
|
verbose_name = _('GatherUser')
|
|
ordering = ['asset']
|
|
|
|
def __str__(self):
|
|
return '{}: {}'.format(self.asset.hostname, self.username)
|
|
|
|
|
|
|