feat: 高级编辑共享跳过审核 + 去重 + 通知 + 已分享状态
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Failing after 53s
Some checks failed
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 4s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Failing after 53s
共享流程: - 高级编辑/管理员共享直接进公共库(跳过审核) - 普通用户共享仍需管理员审核 - 高级编辑共享后通知管理员"已添加"(非待审核) 去重检测: - 同名同内容:提示"已有一模一样的" - 同名不同内容:提示改名后共享 状态显示: - 共享后对比公共库内容,相同则显示"已共享" - 修改内容后"已共享"消失,可重新共享 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -799,9 +799,16 @@ def create_recipe(recipe: RecipeIn, user=Depends(get_current_user)):
|
||||
c.execute("INSERT OR IGNORE INTO tags (name) VALUES (?)", (tag,))
|
||||
c.execute("INSERT OR IGNORE INTO recipe_tags (recipe_id, tag_name) VALUES (?, ?)", (rid, tag))
|
||||
log_audit(conn, user["id"], "create_recipe", "recipe", rid, recipe.name)
|
||||
# Notify admin when non-admin/non-senior_editor creates a recipe (needs review)
|
||||
if user["role"] not in ("admin", "senior_editor"):
|
||||
who = user.get("display_name") or user["username"]
|
||||
who = user.get("display_name") or user["username"]
|
||||
if user["role"] == "senior_editor":
|
||||
# Senior editor adds directly — just inform admin
|
||||
conn.execute(
|
||||
"INSERT INTO notifications (target_role, title, body) VALUES (?, ?, ?)",
|
||||
("admin", "📋 新配方已添加",
|
||||
f"{who} 将配方「{recipe.name}」添加到了公共配方库。\n[recipe_id:{rid}]")
|
||||
)
|
||||
elif user["role"] not in ("admin",):
|
||||
# Other users need review
|
||||
conn.execute(
|
||||
"INSERT INTO notifications (target_role, title, body) VALUES (?, ?, ?)",
|
||||
("admin", "📝 新配方待审核",
|
||||
|
||||
Reference in New Issue
Block a user