Fix team member cannot edit agent (#14612)

### What problem does this PR solve?

Follow on PR: https://github.com/infiniflow/ragflow/pull/14602
to fix: team member cannot edit agent.
new behavior: beside delete, everything is allowed for team member.

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
Wang Qi
2026-05-07 15:09:13 +08:00
committed by GitHub
parent 1d114f034b
commit c50028b1f3
4 changed files with 46 additions and 46 deletions

View File

@@ -108,8 +108,8 @@ class TestAgentSessions:
update_url = f"{HOST_ADDRESS}/api/{VERSION}/agents/invalid-agent-id"
res = requests.put(update_url, auth=HttpApiAuth, json={"title": "updated", "dsl": MINIMAL_DSL}).json()
assert res["code"] == 103, res
assert "Only owner of canvas authorized" in res["message"], res
assert "Make sure you have permission to access the agent." in res["message"], res
res = delete_agent(HttpApiAuth, "invalid-agent-id")
assert res["code"] == 103, res
assert "Only owner of canvas authorized" in res["message"], res
assert "Only the owner of the agent is authorized for this operation." in res["message"], res

View File

@@ -568,12 +568,17 @@ def test_agents_crud_unit_branches(monkeypatch):
return {"dsl": {"nodes": []}, "title": " webhook-agent ", "unused": None}
monkeypatch.setattr(module, "get_request_json", req_update)
monkeypatch.setattr(module.UserCanvasService, "query", lambda **_kwargs: False)
res = _run(module.update_agent.__wrapped__("agent-1", "tenant-1"))
monkeypatch.setattr(module.UserCanvasService, "accessible", lambda *_a, **_kw: False)
@module._require_canvas_access_async
async def _dummy_update(agent_id, tenant_id):
return module.get_json_result(data=True)
res = _run(_dummy_update(agent_id="agent-1", tenant_id="tenant-1"))
assert res["code"] == module.RetCode.OPERATING_ERROR
calls = {"update": 0, "save_or_replace_latest": 0, "replace_for_set": 0}
monkeypatch.setattr(module.UserCanvasService, "query", lambda **_kwargs: True)
monkeypatch.setattr(module.UserCanvasService, "accessible", lambda *_a, **_kw: True)
monkeypatch.setattr(
module.UserCanvasService,
"get_by_id",
@@ -599,7 +604,12 @@ def test_agents_crud_unit_branches(monkeypatch):
assert calls == {"update": 1, "save_or_replace_latest": 1, "replace_for_set": 1}
monkeypatch.setattr(module.UserCanvasService, "query", lambda **_kwargs: False)
res = module.delete_agent.__wrapped__("agent-1", "tenant-1")
@module._require_canvas_owner_sync
def _dummy_delete(agent_id, tenant_id):
return module.get_json_result(data=True)
res = _dummy_delete(agent_id="agent-1", tenant_id="tenant-1")
assert res["code"] == module.RetCode.OPERATING_ERROR