From 35f0f2bfedf4e64d9b368e0e23177d399198e39d Mon Sep 17 00:00:00 2001 From: Marsway Date: Tue, 13 Jan 2026 11:03:09 +0800 Subject: [PATCH] update --- app/admin/routes.py | 4 ++-- app/admin/views.py | 21 ++++++++++----------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/app/admin/routes.py b/app/admin/routes.py index db59071..9eee2c5 100644 --- a/app/admin/routes.py +++ b/app/admin/routes.py @@ -51,7 +51,7 @@ def retry_joblog(request: Request, log_id: int): finished_at=None, ) execute_job.delay(snapshot_params=snapshot, log_id=int(new_log.id)) - url = request.url_for("admin:details", identity="joblog", pk=str(new_log.id)) + url = request.url_for("admin:details", identity="job-log", pk=str(new_log.id)) return RedirectResponse(url, status_code=303) finally: session.close() @@ -85,7 +85,7 @@ def run_job(request: Request, job_id: str): finished_at=None, ) execute_job.delay(job_id=job.id, log_id=int(new_log.id)) - url = request.url_for("admin:details", identity="joblog", pk=str(new_log.id)) + url = request.url_for("admin:details", identity="job-log", pk=str(new_log.id)) return RedirectResponse(url, status_code=303) finally: session.close() diff --git a/app/admin/views.py b/app/admin/views.py index 3e0f929..3b9b0ba 100644 --- a/app/admin/views.py +++ b/app/admin/views.py @@ -156,31 +156,30 @@ class JobAdmin(ModelView, model=Job): session.close() if created_log_id is not None: - url = request.url_for("admin:details", identity="joblog", pk=str(created_log_id)) + url = request.url_for("admin:details", identity="job-log", pk=str(created_log_id)) return RedirectResponse(url, status_code=303) return RedirectResponse(request.url_for("admin:list", identity=self.identity), status_code=303) @action( name="view_logs", label="查看日志", - confirmation_message="查看该任务的日志?", add_in_list=True, add_in_detail=True, ) async def view_logs(self, request: Request): # type: ignore[override] pks = request.query_params.get("pks", "").split(",") pk = next((p for p in pks if p), "") - base = str(request.url_for("admin:list", identity="joblog")) + base = str(request.url_for("admin:list", identity="job-log")) if pk: return RedirectResponse(f"{base}?search={quote_plus(pk)}", status_code=303) return RedirectResponse(base, status_code=303) @action( name="disable_job", - label="停用任务(保留日志)", + label="停用任务(保留日志)", confirmation_message="确认停用该任务(保留历史日志)?", add_in_list=True, - add_in_detail=True, + add_in_detail=False, ) async def disable_job(self, request: Request): # type: ignore[override] pks = request.query_params.get("pks", "").split(",") @@ -201,10 +200,10 @@ class JobAdmin(ModelView, model=Job): @action( name="clear_job_logs", - label="清理任务日志(保留任务)", + label="清理日志(保留任务)", confirmation_message="确认清理该任务的所有日志(保留任务本身)?", add_in_list=True, - add_in_detail=True, + add_in_detail=False, ) async def clear_job_logs(self, request: Request): # type: ignore[override] pks = request.query_params.get("pks", "").split(",") @@ -220,10 +219,10 @@ class JobAdmin(ModelView, model=Job): @action( name="delete_job_with_logs", - label="删除任务及日志(硬删除)", + label="删除任务(含日志)", confirmation_message="确认删除该任务及其所有日志?此操作不可恢复。", add_in_list=True, - add_in_detail=True, + add_in_detail=False, ) async def delete_job_with_logs(self, request: Request): # type: ignore[override] pks = request.query_params.get("pks", "").split(",") @@ -310,14 +309,14 @@ class JobLogAdmin(ModelView, model=JobLog): name = "任务日志" name_plural = "任务日志" icon = "fa fa-list" + identity = "job-log" can_create = False can_edit = False can_delete = False - # 支持按 job_id 搜索与筛选 + # 支持按 job_id 搜索(不启用筛选栏,避免页面溢出) column_searchable_list = [JobLog.job_id] - column_filters = [OperationColumnFilter(JobLog.job_id, title="任务ID")] # 列表更适合扫读:保留关键字段 + message(截断) column_list = [JobLog.id, JobLog.job_id, JobLog.status, JobLog.started_at, JobLog.finished_at, JobLog.message]