[Update] 更新session api

pull/1248/head
ibuler 2018-04-23 11:32:46 +08:00
parent ad6e22cd42
commit 02ca8c3139
2 changed files with 10 additions and 0 deletions

View File

@ -182,6 +182,11 @@ class SessionViewSet(viewsets.ModelViewSet):
self.queryset = terminal.session_set.all()
return self.queryset
def perform_create(self, serializer):
if self.request.user.terminal:
serializer.validated_data["terminal"] = self.request.user.terminal
return super().perform_create(serializer)
class TaskViewSet(BulkModelViewSet):
queryset = Task.objects.all()

View File

@ -117,6 +117,10 @@ class Session(models.Model):
('ST', 'SSH Terminal'),
('WT', 'Web Terminal'),
)
PROTOCOL_CHOICES = (
('ssh', 'ssh'),
('rdp', 'rdp')
)
id = models.UUIDField(default=uuid.uuid4, primary_key=True)
user = models.CharField(max_length=128, verbose_name=_("User"))
@ -128,6 +132,7 @@ class Session(models.Model):
has_replay = models.BooleanField(default=False, verbose_name=_("Replay"))
has_command = models.BooleanField(default=False, verbose_name=_("Command"))
terminal = models.ForeignKey(Terminal, null=True, on_delete=models.SET_NULL)
protocol = models.CharField(choices=PROTOCOL_CHOICES, default='ssh')
date_last_active = models.DateTimeField(verbose_name=_("Date last active"), default=timezone.now)
date_start = models.DateTimeField(verbose_name=_("Date start"), db_index=True)
date_end = models.DateTimeField(verbose_name=_("Date end"), null=True)