[Bugfix] 修改导出登录日志的日期选择从开始时间的00:00:00,到结束时间的23:59:59

pull/3365/head
jym503558564 2019-10-22 16:17:42 +08:00
parent 334e3bef0e
commit f4fc757379
3 changed files with 13 additions and 7 deletions

View File

@ -88,11 +88,15 @@ class UserLoginLog(models.Model):
datetime = models.DateTimeField(default=timezone.now, verbose_name=_('Date login')) datetime = models.DateTimeField(default=timezone.now, verbose_name=_('Date login'))
@classmethod @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() 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( login_logs = login_logs.filter(
datetime__gt=date_form, datetime__lt=date_to datetime__gte=date_from, datetime__lte=date_to
) )
if user: if user:
login_logs = login_logs.filter(username=user) login_logs = login_logs.filter(username=user)

View File

@ -121,7 +121,7 @@
}); });
}) })
.on('click', '.btn_export', function () { .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 date_to = $('#id_date_to').val();
var user = $('.select2 option:selected').val(); var user = $('.select2 option:selected').val();
var keyword = $('#search').val(); var keyword = $('#search').val();
@ -129,7 +129,7 @@
url: "{% url "audits:login-log-export" %}", url: "{% url "audits:login-log-export" %}",
method: 'POST', method: 'POST',
data: JSON.stringify({ data: JSON.stringify({
'date_form':date_form, 'date_from':date_from,
'date_to':date_to, 'date_to':date_to,
'user':user, 'user':user,
'keyword':keyword 'keyword':keyword

View File

@ -255,6 +255,7 @@ class CommandExecutionListView(UserCommandExecutionListView):
@method_decorator(csrf_exempt, name='dispatch') @method_decorator(csrf_exempt, name='dispatch')
class LoginLogExportView(PermissionsMixin, View): class LoginLogExportView(PermissionsMixin, View):
permission_classes = [IsValidUser] permission_classes = [IsValidUser]
date_format = '%Y-%m-%d'
def get(self, request): def get(self, request):
fields = [ fields = [
@ -273,13 +274,14 @@ class LoginLogExportView(PermissionsMixin, View):
def post(self, request): def post(self, request):
try: 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', []) date_to = json.loads(request.body).get('date_to', [])
user = json.loads(request.body).get('user', []) user = json.loads(request.body).get('user', [])
keyword = json.loads(request.body).get('keyword', []) keyword = json.loads(request.body).get('keyword', [])
login_logs = UserLoginLog.get_login_logs( 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: except ValueError:
return HttpResponse('Json object not valid', status=400) return HttpResponse('Json object not valid', status=400)
spm = uuid.uuid4().hex spm = uuid.uuid4().hex