From 251cb2e0384dbf9d2b441732fa16969d539bd44e Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 27 Nov 2021 20:47:53 +0800 Subject: [PATCH] =?UTF-8?q?Setting=20=20read=20&=20write=20=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/workflow.go | 2 ++ workflow/workflow_test.go | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/workflow/workflow.go b/workflow/workflow.go index ca406ffd..41aeda0c 100644 --- a/workflow/workflow.go +++ b/workflow/workflow.go @@ -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, diff --git a/workflow/workflow_test.go b/workflow/workflow_test.go index 3faf84ed..ba71dfde 100644 --- a/workflow/workflow_test.go +++ b/workflow/workflow_test.go @@ -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"))