Require at least one source and destination to save a schedule

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
shuki
2026-03-07 05:07:31 +02:00
parent 024bd22464
commit 35db07c69d

View File

@@ -222,14 +222,23 @@ class ScheduleEditScreen(Screen):
else: else:
day_val = "" day_val = ""
selected_targets = self._get_selected_switches("sched-src-")
selected_remotes = self._get_selected_switches("sched-dst-")
if not selected_targets:
self.notify("Select at least one source", severity="error")
return
if not selected_remotes:
self.notify("Select at least one destination", severity="error")
return
sched = Schedule( sched = Schedule(
name=name, name=name,
schedule=stype, schedule=stype,
time=self.query_one("#sched-time", Input).value.strip() or "02:00", time=self.query_one("#sched-time", Input).value.strip() or "02:00",
day=day_val, day=day_val,
cron=self.query_one("#sched-cron", Input).value.strip(), cron=self.query_one("#sched-cron", Input).value.strip(),
targets=",".join(self._get_selected_switches("sched-src-")), targets=",".join(selected_targets),
remotes=",".join(self._get_selected_switches("sched-dst-")), remotes=",".join(selected_remotes),
) )
conf = CONFIG_DIR / "schedules.d" / f"{name}.conf" conf = CONFIG_DIR / "schedules.d" / f"{name}.conf"
write_conf(conf, sched.to_conf()) write_conf(conf, sched.to_conf())