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)
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||||
user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), nullable=False)
|
user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), nullable=False)
|
||||||
is_enabled = Column(Boolean, nullable=False, default=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)
|
vk_mirror_enabled = Column(Boolean, nullable=False, default=False)
|
||||||
store_filters_seeded = Column(Boolean, nullable=False, default=False)
|
store_filters_seeded = Column(Boolean, nullable=False, default=False)
|
||||||
group_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()
|
form = await request.form()
|
||||||
|
|
||||||
evo_mirror_enabled = form.get("evo_mirror_enabled") == "1"
|
evo_mirror_enabled = "1" in form.getlist("evo_mirror_enabled")
|
||||||
vk_mirror_enabled = form.get("vk_mirror_enabled") == "1"
|
vk_mirror_enabled = "1" in form.getlist("vk_mirror_enabled")
|
||||||
sync_enabled = form.get("is_enabled") == "1"
|
sync_enabled = "1" in form.getlist("is_enabled")
|
||||||
|
|
||||||
raw_multiplier = str(form.get("price_multiplier", "1")).strip()
|
raw_multiplier = str(form.get("price_multiplier", "1")).strip()
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user