Setting read & write 控制

This commit is contained in:
Max 2021-11-27 20:47:53 +08:00
parent a2ac440fbc
commit 251cb2e038
2 changed files with 12 additions and 2 deletions

View file

@ -171,6 +171,8 @@ func (workflow *WorkFlow) Setting(uid int, id interface{}) map[string]interface{
nodes := workflow.FlowNodes(data.Dot())
return map[string]interface{}{
"nodes": nodes,
"read": true,
"write": any.Of(wflow["user_id"]).CInt() == uid,
"actions": workflow.Actions,
"name": workflow.Name,
"version": workflow.Version,

View file

@ -275,14 +275,22 @@ func TestSetting(t *testing.T) {
Data: map[string]interface{}{"id": 1, "name": "云主机"},
Form: map[string]interface{}{"biz_id": 1, "name": "张良明"},
})
setting := assignFlow.Setting(1, 1)
data := maps.Of(setting).Dot()
assert.Equal(t, true, data.Get("read"))
assert.Equal(t, true, data.Get("write"))
id := any.Of(wflow["id"]).CInt()
assignFlow.Next(1, id, map[string]interface{}{
"项目名称": "测试项目",
"商务负责人名称": "林明波",
})
setting := assignFlow.Setting(1, 1)
data := maps.Of(setting).Dot()
setting = assignFlow.Setting(1, 1)
data = maps.Of(setting).Dot()
assert.Equal(t, true, data.Get("read"))
assert.Equal(t, false, data.Get("write"))
assert.Equal(t, 2, data.Get("nodes.2.source"))
assert.Equal(t, 2, data.Get("nodes.3.source"))
assert.Equal(t, "assign", data.Get("name"))