From f4fc75737919ddbaf54ca9f595118d5372643410 Mon Sep 17 00:00:00 2001 From: jym503558564 <503558564@qq.com> Date: Tue, 22 Oct 2019 16:17:42 +0800 Subject: [PATCH] =?UTF-8?q?[Bugfix]=20=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=97=A5=E5=BF=97=E7=9A=84=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E4=BB=8E=E5=BC=80=E5=A7=8B=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E7=9A=8400:00:00=EF=BC=8C=E5=88=B0=E7=BB=93=E6=9D=9F=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E7=9A=8423:59:59?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/audits/models.py | 10 +++++++--- apps/audits/templates/audits/login_log_list.html | 4 ++-- apps/audits/views.py | 6 ++++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/apps/audits/models.py b/apps/audits/models.py index 397aac955..5220a0327 100644 --- a/apps/audits/models.py +++ b/apps/audits/models.py @@ -88,11 +88,15 @@ class UserLoginLog(models.Model): datetime = models.DateTimeField(default=timezone.now, verbose_name=_('Date login')) @classmethod - def get_login_logs(cls, date_form=None, date_to=None, user=None, keyword=None): + def get_login_logs(cls, date_from=None, date_to=None, user=None, keyword=None, date_format=None): login_logs = cls.objects.all() - if date_form and date_to: + if date_from and date_to: + date_from = timezone.datetime.strptime(date_from, date_format) + date_to = timezone.datetime.strptime( + date_to + ' 23:59:59', date_format + ' %H:%M:%S' + ) login_logs = login_logs.filter( - datetime__gt=date_form, datetime__lt=date_to + datetime__gte=date_from, datetime__lte=date_to ) if user: login_logs = login_logs.filter(username=user) diff --git a/apps/audits/templates/audits/login_log_list.html b/apps/audits/templates/audits/login_log_list.html index e67b792b0..151fccb13 100644 --- a/apps/audits/templates/audits/login_log_list.html +++ b/apps/audits/templates/audits/login_log_list.html @@ -121,7 +121,7 @@ }); }) .on('click', '.btn_export', function () { - var date_form = $('#id_date_from').val(); + var date_from = $('#id_date_from').val(); var date_to = $('#id_date_to').val(); var user = $('.select2 option:selected').val(); var keyword = $('#search').val(); @@ -129,7 +129,7 @@ url: "{% url "audits:login-log-export" %}", method: 'POST', data: JSON.stringify({ - 'date_form':date_form, + 'date_from':date_from, 'date_to':date_to, 'user':user, 'keyword':keyword diff --git a/apps/audits/views.py b/apps/audits/views.py index 13b0031d0..b792e3354 100644 --- a/apps/audits/views.py +++ b/apps/audits/views.py @@ -255,6 +255,7 @@ class CommandExecutionListView(UserCommandExecutionListView): @method_decorator(csrf_exempt, name='dispatch') class LoginLogExportView(PermissionsMixin, View): permission_classes = [IsValidUser] + date_format = '%Y-%m-%d' def get(self, request): fields = [ @@ -273,13 +274,14 @@ class LoginLogExportView(PermissionsMixin, View): def post(self, request): try: - date_form = json.loads(request.body).get('date_form', []) + date_from = json.loads(request.body).get('date_from', []) date_to = json.loads(request.body).get('date_to', []) user = json.loads(request.body).get('user', []) keyword = json.loads(request.body).get('keyword', []) login_logs = UserLoginLog.get_login_logs( - date_form=date_form, date_to=date_to, user=user, keyword=keyword) + date_from=date_from, date_to=date_to, user=user, + keyword=keyword, date_format=self.date_format) except ValueError: return HttpResponse('Json object not valid', status=400) spm = uuid.uuid4().hex