mirror of https://github.com/jumpserver/jumpserver
fix: Fixed the issue of user login statistics (#13440)
Co-authored-by: feng <1304903146@qq.com>pull/13443/head
parent
ff126f3459
commit
f42113afb9
|
@ -74,9 +74,13 @@ class DateTimeMixin:
|
|||
query = {f'{query_field}__gte': t}
|
||||
return qs.filter(**query)
|
||||
|
||||
@lazyproperty
|
||||
def users(self):
|
||||
return self.org.get_members()
|
||||
|
||||
def get_logs_queryset(self, queryset, query_params):
|
||||
query = {}
|
||||
users = self.org.get_members()
|
||||
users = self.users
|
||||
if not self.org.is_root():
|
||||
if query_params == 'username':
|
||||
query = {
|
||||
|
@ -100,6 +104,13 @@ class DateTimeMixin:
|
|||
queryset = self.get_logs_queryset(qs, 'username')
|
||||
return queryset
|
||||
|
||||
@lazyproperty
|
||||
def user_login_logs_on_the_system_queryset(self):
|
||||
qs = UserLoginLog.objects.all()
|
||||
qs = self.get_logs_queryset_filter(qs, 'datetime')
|
||||
queryset = qs.filter(username__in=construct_userlogin_usernames(self.users))
|
||||
return queryset
|
||||
|
||||
@lazyproperty
|
||||
def password_change_logs_queryset(self):
|
||||
qs = PasswordChangeLog.objects.all()
|
||||
|
@ -141,6 +152,7 @@ class DatesLoginMetricMixin:
|
|||
ftp_logs_queryset: FTPLog.objects
|
||||
job_logs_queryset: JobLog.objects
|
||||
login_logs_queryset: UserLoginLog.objects
|
||||
user_login_logs_on_the_system_queryset: UserLoginLog.objects
|
||||
operate_logs_queryset: OperateLog.objects
|
||||
password_change_logs_queryset: PasswordChangeLog.objects
|
||||
|
||||
|
@ -241,7 +253,7 @@ class DatesLoginMetricMixin:
|
|||
|
||||
@lazyproperty
|
||||
def user_login_amount(self):
|
||||
return self.login_logs_queryset.values('username').distinct().count()
|
||||
return self.user_login_logs_on_the_system_queryset.values('username').distinct().count()
|
||||
|
||||
@lazyproperty
|
||||
def operate_logs_amount(self):
|
||||
|
|
Loading…
Reference in New Issue