[Feture] session detail页面,包含命令列表

This commit is contained in:
ibuler
2017-12-04 00:21:26 +08:00
parent 01558c985a
commit 9b6696bb6e
14 changed files with 80 additions and 36 deletions

View File

@@ -14,9 +14,8 @@ class CommandBase(object):
pass
@abc.abstractmethod
def filter(self, date_from=None, date_to=None, user=None,
asset=None, system_user=None, command=None, session=None):
def filter(self, date_from=None, date_to=None,
user=None, asset=None, system_user=None,
input=None, session=None):
pass

View File

@@ -37,27 +37,26 @@ class CommandStore(CommandBase):
))
return self.model.objects.bulk_create(_commands)
def filter(self, date_from=None, date_to=None, user=None,
asset=None, system_user=None, _input=None, session=None):
def filter(self, date_from=None, date_to=None,
user=None, asset=None, system_user=None,
input=None, session=None):
filter_kwargs = {}
date_from_default = timezone.now() - datetime.timedelta(days=7)
date_to_default = timezone.now()
date_from = date_from if date_from else date_from_default
date_to = date_to if date_to else date_to_default
filter_kwargs['timestamp__gte'] = int(date_from.timestamp())
filter_kwargs['timestamp__lte'] = int(date_to.timestamp())
if date_from:
filter_kwargs['timestamp__gte'] = int(date_from.timestamp())
else:
week_ago = timezone.now() - datetime.timedelta(days=7)
filter_kwargs['timestamp__gte'] = int(week_ago.timestamp())
if date_to:
filter_kwargs['timestamp__lte'] = int(date_to.timestamp())
else:
filter_kwargs['timestamp__lte'] = int(timezone.now().timestamp())
if user:
filter_kwargs['user'] = user
filter_kwargs["user"] = user
if asset:
filter_kwargs['asset'] = asset
if system_user:
filter_kwargs['system_user'] = system_user
if _input:
filter_kwargs['input__icontains'] = _input
if input:
filter_kwargs['input__icontains'] = input
if session:
filter_kwargs['session'] = session

View File

@@ -11,7 +11,7 @@ class AbstractSessionCommand(models.Model):
asset = models.CharField(max_length=128, verbose_name=_("Asset"))
system_user = models.CharField(max_length=64, verbose_name=_("System user"))
input = models.CharField(max_length=128, db_index=True, verbose_name=_("Input"))
output = models.CharField(max_length=1024, verbose_name=_("Output"))
output = models.CharField(max_length=1024, blank=True, verbose_name=_("Output"))
session = models.CharField(max_length=36, db_index=True, verbose_name=_("Session"))
timestamp = models.IntegerField(db_index=True)

View File

@@ -10,7 +10,7 @@ class SessionCommandSerializer(serializers.Serializer):
asset = serializers.CharField(max_length=128)
system_user = serializers.CharField(max_length=64)
input = serializers.CharField(max_length=128)
output = serializers.CharField(max_length=1024)
output = serializers.CharField(max_length=1024, allow_blank=True)
session = serializers.CharField(max_length=36)
timestamp = serializers.IntegerField()