1
This commit is contained in:
parent
b67c326aa3
commit
46ceae0c9a
@ -346,6 +346,7 @@ class Handler(BaseHTTPRequestHandler):
|
||||
"/templates/delete": self.delete_template,
|
||||
"/rules/create": self.create_rule,
|
||||
"/rules/update": self.update_rule,
|
||||
"/rules/toggle": self.toggle_rule,
|
||||
"/rules/delete": self.delete_rule,
|
||||
"/test/send": self.send_test,
|
||||
"/account/password": self.change_password,
|
||||
@ -799,7 +800,15 @@ class Handler(BaseHTTPRequestHandler):
|
||||
<td>{'<br>'.join(item for item in conditions if item) or '-'}</td>
|
||||
<td>{rule['priority']}</td>
|
||||
<td><div class="tag-list">{target_badges}</div></td>
|
||||
<td><span class="status">{'启用' if rule['enabled'] else '停用'}</span></td>
|
||||
<td>
|
||||
<form class="inline" method="post" action="/rules/toggle">
|
||||
<input type="hidden" name="id" value="{rule['id']}">
|
||||
<label class="switch switch-compact" title="切换规则启用状态">
|
||||
<input name="enabled" type="checkbox" {'checked' if rule['enabled'] else ''} onchange="this.form.submit()">
|
||||
<span></span><strong>{'启用' if rule['enabled'] else '停用'}</strong>
|
||||
</label>
|
||||
</form>
|
||||
</td>
|
||||
<td><a class="button-link" href="/rules/edit?id={rule['id']}">编辑</a><a class="button-link danger-link" href="/rules/delete?id={rule['id']}">删除</a></td>
|
||||
</tr>"""
|
||||
header = """<header class="page-header"><div><h1>路由规则</h1><p>周期、品种、策略至少填写一个;空字段表示不限。消息统一用飞书卡片发送。</p></div><a class="button-link" href="/rules/new">新增规则</a></header>"""
|
||||
@ -1121,6 +1130,16 @@ class Handler(BaseHTTPRequestHandler):
|
||||
conn.execute("DELETE FROM routing_rules WHERE id = ?", (form["id"],))
|
||||
redirect(self, "/rules")
|
||||
|
||||
def toggle_rule(self) -> None:
|
||||
form = parse_form(self)
|
||||
enabled = 1 if form.get("enabled") == "on" else 0
|
||||
with self.context.db.connect() as conn:
|
||||
conn.execute(
|
||||
"UPDATE routing_rules SET enabled = ?, updated_at = ? WHERE id = ?",
|
||||
(enabled, now_iso(), form.get("id", "")),
|
||||
)
|
||||
redirect(self, "/rules")
|
||||
|
||||
def update_rule(self) -> None:
|
||||
form = parse_form_multi(self)
|
||||
target_ids = [int(value) for value in form.get("target_ids", [])]
|
||||
|
||||
@ -386,6 +386,31 @@ td textarea {
|
||||
font: 800 14px ui-sans-serif, system-ui, sans-serif;
|
||||
}
|
||||
|
||||
.switch-compact {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.switch-compact span {
|
||||
width: 44px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.switch-compact span::after {
|
||||
top: 4px;
|
||||
left: 4px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.switch-compact input:checked + span::after {
|
||||
transform: translateX(18px);
|
||||
}
|
||||
|
||||
.switch-compact strong {
|
||||
min-width: 28px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.checks {
|
||||
margin: 8px 0 12px;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user