diff --git a/src/gonganxitong/member.go b/src/gonganxitong/member.go index f6c8942..4d83c1d 100644 --- a/src/gonganxitong/member.go +++ b/src/gonganxitong/member.go @@ -67,6 +67,9 @@ func (s member) Main(m *ice.Message, arg ...string) { } func (s member) Auth(m *ice.Message, arg ...string) { msg := m.Cmd(city{}, s.Select, model.NAME, m.Option(model.CITY_NAME)) + if m.WarnNotValid(msg.Append(model.AUTH_UID) == "") { + return + } m.Cmdy(user{}, s.AuthCreate, kit.Dict(msg.AppendSimple(model.AUTH_UID))) } func (s Table) UserInfo(m *ice.Message, arg ...string) { diff --git a/src/gonganxitong/setting.go b/src/gonganxitong/setting.go index 1cc5c62..7af55bd 100644 --- a/src/gonganxitong/setting.go +++ b/src/gonganxitong/setting.go @@ -14,7 +14,7 @@ type setting struct { order string `data:"103"` role string `data:"leader,worker,server"` short string `data:"name"` - field string `data:"name,type,help,scope"` + field string `data:"name,type,help,role"` fields string `data:"name,value,user_uid"` create string `name:"create name* type* help" role:"tech"` update string `name:"update" role:"void"` @@ -42,8 +42,26 @@ func (s Table) SettingSelect(m *ice.Message, arg ...string) { func (s setting) Update(m *ice.Message, arg ...string) { msg := s.Hash.Select(m.Spawn(), m.Option(model.NAME)) args := m.OptionSimple(model.PLACE_UID, model.USER_UID, model.NAME) - kit.If(msg.Append("scope") == "place" && s.IsCreator(m), func() { args = m.OptionSimple(model.PLACE_UID, model.NAME) }) - // m.OptionDefault(model.PLACE_UID, m.Option(s.Keys(s.Place, model.UID))) + switch msg.Append("role") { + case "tech": + if m.IsTech() { + args = m.OptionSimple(model.PLACE_UID, model.NAME) + } else { + return + } + case "creator": + if s.IsCreator(m) { + args = m.OptionSimple(model.PLACE_UID, model.NAME) + } else { + return + } + case "leader": + if s.IsLeader(m) { + args = m.OptionSimple(model.PLACE_UID, model.NAME) + } else { + return + } + } if s.Table.Select(m.Spawn(), args...).Length() > 0 { s.Table.Update(m, kit.Dict(m.OptionSimple(model.VALUE)), args...) } else { @@ -60,8 +78,12 @@ func (s setting) List(m *ice.Message, arg ...string) { msg := s.Select(m.Spawn(), args...) msg.Table(func(value ice.Maps) { data[value[model.NAME]] = value[model.VALUE] }) s.Hash.List(m.Spawn()).Table(func(value ice.Maps) { - if value["scope"] == "place" && !s.IsCreator(m) { + if value["role"] == "tech" && !m.IsTech() { // m.Push(model.VALUE, "") + } else if value["role"] == "creator" && !s.IsCreator(m) { + // m.Push(model.VALUE, "") + } else if value["role"] == "leader" && !s.IsLeader(m) { + } else { m.Push(model.NAME, value[model.NAME]) m.Push(model.TYPE, value[model.TYPE])