fix: sync settings toggles always saving as off
form.get() returns the first value when both the hidden fallback input and the checked checkbox are submitted under the same name — so "0" always won. Switch to form.getlist() and check for "1" in the list. Also default evo_mirror_enabled to True so new users don't have to manually enable it before the catalog can populate. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -57,7 +57,7 @@ class SyncConfig(Base):
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), nullable=False)
|
||||
is_enabled = Column(Boolean, nullable=False, default=False)
|
||||
evo_mirror_enabled = Column(Boolean, nullable=False, default=False)
|
||||
evo_mirror_enabled = Column(Boolean, nullable=False, default=True)
|
||||
vk_mirror_enabled = Column(Boolean, nullable=False, default=False)
|
||||
store_filters_seeded = Column(Boolean, nullable=False, default=False)
|
||||
group_filters_seeded = Column(Boolean, nullable=False, default=False)
|
||||
|
||||
@@ -45,9 +45,9 @@ async def sync_settings_post(request: Request, db: Session = Depends(get_db)):
|
||||
|
||||
form = await request.form()
|
||||
|
||||
evo_mirror_enabled = form.get("evo_mirror_enabled") == "1"
|
||||
vk_mirror_enabled = form.get("vk_mirror_enabled") == "1"
|
||||
sync_enabled = form.get("is_enabled") == "1"
|
||||
evo_mirror_enabled = "1" in form.getlist("evo_mirror_enabled")
|
||||
vk_mirror_enabled = "1" in form.getlist("vk_mirror_enabled")
|
||||
sync_enabled = "1" in form.getlist("is_enabled")
|
||||
|
||||
raw_multiplier = str(form.get("price_multiplier", "1")).strip()
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user