diff --git a/backend/main.py b/backend/main.py index cfcb282..ea7b826 100644 --- a/backend/main.py +++ b/backend/main.py @@ -868,7 +868,17 @@ def update_recipe(recipe_id: int, update: RecipeUpdate, user=Depends(get_current (recipe_id, tag), ) c.execute("UPDATE recipes SET updated_by = ?, version = COALESCE(version, 1) + 1 WHERE id = ?", (user["id"], recipe_id)) - log_audit(conn, user["id"], "update_recipe", "recipe", recipe_id, update.name) + # Get recipe name for log + rname = c.execute("SELECT name FROM recipes WHERE id = ?", (recipe_id,)).fetchone() + changed = [] + if update.name is not None: changed.append("名称") + if update.ingredients is not None: changed.append("成分") + if update.tags is not None: changed.append("标签") + if update.note is not None: changed.append("备注") + if update.en_name is not None: changed.append("英文名") + log_audit(conn, user["id"], "update_recipe", "recipe", recipe_id, + rname["name"] if rname else update.name, + json.dumps({"changed": "、".join(changed)}, ensure_ascii=False) if changed else None) conn.commit() conn.close() return {"ok": True} @@ -1030,7 +1040,7 @@ def create_tag(body: dict, user=Depends(require_role("admin", "senior_editor", " raise HTTPException(400, "Tag name required") conn = get_db() conn.execute("INSERT OR IGNORE INTO tags (name) VALUES (?)", (name,)) - # Don't log tag creation (too frequent/noisy) + log_audit(conn, user["id"], "create_tag", "tag", name, name, None) conn.commit() conn.close() return {"ok": True} diff --git a/frontend/src/components/RecipeCard.vue b/frontend/src/components/RecipeCard.vue index d3420f6..8e33197 100644 --- a/frontend/src/components/RecipeCard.vue +++ b/frontend/src/components/RecipeCard.vue @@ -1,11 +1,10 @@