mirror of
https://shylinux.com/x/enterprise
synced 2025-04-26 01:24:06 +08:00
62 lines
1.3 KiB
Go
62 lines
1.3 KiB
Go
package guanlixitong
|
|
|
|
import (
|
|
"shylinux.com/x/ice"
|
|
|
|
"shylinux.com/x/enterprise/src/guanlixitong/model"
|
|
)
|
|
|
|
type userGroup struct {
|
|
Table
|
|
group group
|
|
company company
|
|
}
|
|
|
|
func (s userGroup) User(m *ice.Message, arg ...string) {
|
|
if len(arg) == 1 {
|
|
s.Select(m, model.GROUP_UID, arg[0])
|
|
} else if len(arg) == 2 {
|
|
s.Select(m, model.GROUP_UID, arg[0], model.UID, arg[1])
|
|
} else {
|
|
return
|
|
}
|
|
m.RenameAppend(model.ROLE, model.USER_GROUP_ROLE)
|
|
s.SelectJoinUser(m)
|
|
s.RewriteAppend(m)
|
|
}
|
|
func (s userGroup) List(m *ice.Message, arg ...string) {
|
|
s.Tables(m, s.group, s.company).FieldsWithCreatedAT(m, s,
|
|
model.GROUP_NAME, model.GROUP_TYPE, model.USER_GROUP_ROLE,
|
|
model.COMPANY_NAME, model.GROUP_UID, model.CITY_UID,
|
|
)
|
|
if len(arg) == 1 {
|
|
s.Select(m, model.USER_UID, arg[0])
|
|
} else if len(arg) == 2 {
|
|
s.SelectDetail(m, model.USER_UID, arg[0], model.GROUP_UID, arg[1])
|
|
} else {
|
|
return
|
|
}
|
|
s.SelectJoinCity(m)
|
|
s.RewriteAppend(m)
|
|
}
|
|
|
|
func init() { ice.TeamCtxCmd(userGroup{}) }
|
|
|
|
type UserGroupRole int
|
|
|
|
const (
|
|
UserGroupCreator UserGroupRole = iota
|
|
UserGroupVisitor
|
|
UserGroupLeader
|
|
UserGroupMember
|
|
)
|
|
|
|
var UserGroupRoleList = map[UserGroupRole]string{
|
|
UserGroupCreator: "creator",
|
|
UserGroupVisitor: "visitor",
|
|
UserGroupLeader: "leader",
|
|
UserGroupMember: "member",
|
|
}
|
|
|
|
func (s UserGroupRole) String() string { return UserGroupRoleList[s] }
|