This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-09-02 12:18:58 +08:00
parent e3fd37dc41
commit 5d63ffdbc0
14 changed files with 20 additions and 31 deletions

View File

@ -9,7 +9,7 @@ import (
type document struct { type document struct {
Table Table
create string `name:"create subject* grade* document_type*:select title* content* icon link" role:"teacher,student"` create string `name:"create subject* grade* document_type*:select title* content* icon link" role:"teacher"`
} }
func (s document) Create(m *ice.Message, arg ...string) { func (s document) Create(m *ice.Message, arg ...string) {
@ -25,8 +25,7 @@ func (s document) List(m *ice.Message, arg ...string) {
} else if len(arg) == 2 { } else if len(arg) == 2 {
s.SelectDetail(m, model.LIBRARY_UID, arg[0], model.UID, arg[1]) s.SelectDetail(m, model.LIBRARY_UID, arg[0], model.UID, arg[1])
} }
m.PushAction(s.Remove) m.RenameAppend(model.TYPE, model.DOCUMENT_TYPE).PushAction(s.Remove)
m.RenameAppend(model.TYPE, model.DOCUMENT_TYPE)
} }
func init() { ice.TeamCtxCmd(document{}) } func init() { ice.TeamCtxCmd(document{}) }

View File

@ -16,8 +16,6 @@ const (
DOCUMENT_UID = "document_uid" DOCUMENT_UID = "document_uid"
DOCUMENT_TYPE = "document_type" DOCUMENT_TYPE = "document_type"
CITY_UID = "city_uid" CITY_UID = "city_uid"
INDEX = "index"
INIT = "init"
LINK = "link" LINK = "link"
) )

View File

@ -10,6 +10,4 @@ type Portal struct {
placeCreate string `name:"placeCreate city_name* school_name* library_type*:select library_name* link" role:"void"` placeCreate string `name:"placeCreate city_name* school_name* library_type*:select library_name* link" role:"void"`
} }
func init() { func init() { gonganxitong.PortalCmd(Portal{Portal: jiaowuxitong.NewPortal(userLibrary{}, library{})}) }
gonganxitong.PortalCmd(Portal{Portal: jiaowuxitong.NewPortal(userLibrary{}, library{})})
}

View File

@ -12,5 +12,4 @@ func init() { ice.TeamCtxCmd(userLibrary{}) }
type UserLibraryRole = jiaowuxitong.UserClassRole type UserLibraryRole = jiaowuxitong.UserClassRole
var UserLibraryCreator = jiaowuxitong.UserClassCreator
var UserLibraryRoleList = jiaowuxitong.UserClassRoleList var UserLibraryRoleList = jiaowuxitong.UserClassRoleList

View File

@ -1,6 +1,8 @@
package jiaowuxitong package jiaowuxitong
import ( import (
"strconv"
"shylinux.com/x/ice" "shylinux.com/x/ice"
kit "shylinux.com/x/toolkits" kit "shylinux.com/x/toolkits"
@ -28,6 +30,9 @@ func (s Table) Inputs(m *ice.Message, arg ...string) {
} }
func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message { func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message {
m.RewriteAppend(func(value, key string, index int) string { m.RewriteAppend(func(value, key string, index int) string {
if _, e := strconv.ParseInt(value, 10, 64); e != nil {
return value
}
switch key { switch key {
case model.USER_CLASS_ROLE: case model.USER_CLASS_ROLE:
value = UserClassRole(kit.Int(value)).String() value = UserClassRole(kit.Int(value)).String()
@ -38,7 +43,9 @@ func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message {
}) })
return s.Table.RewriteAppend(m) return s.Table.RewriteAppend(m)
} }
func (s Table) SelectJoinSchool(m *ice.Message) *ice.Message {
return s.SelectJoin(m, school{}, model.NAME, model.CITY_UID)
}
func (s Table) CheckRole(m *ice.Message, arg ...string) *ice.Message { func (s Table) CheckRole(m *ice.Message, arg ...string) *ice.Message {
role := UserClassRole(s.UserPlaceRole(m)) role := UserClassRole(s.UserPlaceRole(m))
m.WarnNotRight(!kit.IsIn(role.String(), append(arg, UserClassCreator.String())...), role.String()) m.WarnNotRight(!kit.IsIn(role.String(), append(arg, UserClassCreator.String())...), role.String())
@ -49,8 +56,6 @@ type Tables struct{ Table }
func (s Tables) BeforeMigrate(m *ice.Message, arg ...string) {} func (s Tables) BeforeMigrate(m *ice.Message, arg ...string) {}
func newTable() Table { return Table{Table: gonganxitong.NewTable(userClass{}, class{}, school{})} }
func NewPortal(userPlace gonganxitong.UserPlacer, place gonganxitong.Placer) Portal { func NewPortal(userPlace gonganxitong.UserPlacer, place gonganxitong.Placer) Portal {
return Portal{Portal: gonganxitong.NewPortal(userPlace, place, school{})} return Portal{Portal: gonganxitong.NewPortal(userPlace, place, school{})}
} }

View File

@ -4,9 +4,7 @@ import "shylinux.com/x/community/src/gonganxitong"
type Portal struct { type Portal struct {
gonganxitong.Portal gonganxitong.Portal
placeCreate string `name:"placeCreate city_name* school_name* grade*:select class_name*" role:"void"` placeCreate string `name:"placeCreate city_name* school_name* grade*:select class_type*:select class_name*" role:"void"`
} }
func init() { func init() { gonganxitong.PortalCmd(NewPortal(userClass{}, class{})) }
gonganxitong.PortalCmd(Portal{Portal: gonganxitong.NewPortal(userClass{}, class{}, school{})})
}

View File

@ -1,7 +1,7 @@
{ {
"portal": "教务系统", "portal": "教务系统",
"member": "班级成员",
"homework": "家庭作业", "homework": "家庭作业",
"member": "班级成员",
"icons": { "icons": {
"homework": "https://img.icons8.com/officel/80/homework.png" "homework": "https://img.icons8.com/officel/80/homework.png"
}, },

View File

@ -23,5 +23,3 @@ func (s school) FindOrCreateByName(m *ice.Message, arg ...string) {
} }
func init() { ice.TeamCtxCmd(school{}) } func init() { ice.TeamCtxCmd(school{}) }
type School struct{ school }

View File

@ -4,7 +4,7 @@ import "shylinux.com/x/ice"
type userClass struct{ Table } type userClass struct{ Table }
func init() { ice.TeamCtxCmd(userClass{Table: newTable()}) } func init() { ice.TeamCtxCmd(userClass{}) }
type UserClassRole int type UserClassRole int

View File

@ -7,9 +7,7 @@ import (
type Portal struct { type Portal struct {
jiaowuxitong.Portal jiaowuxitong.Portal
placeCreate string `name:"placeCreate city_name* school_name* exam_name*" role:"void"` placeCreate string `name:"placeCreate city_name* school_name* exam_type*:select exam_name*" role:"void"`
} }
func init() { func init() { gonganxitong.PortalCmd(Portal{Portal: jiaowuxitong.NewPortal(userExam{}, exam{})}) }
gonganxitong.PortalCmd(Portal{Portal: jiaowuxitong.NewPortal(userExam{}, exam{})})
}

View File

@ -12,5 +12,4 @@ func init() { ice.TeamCtxCmd(userExam{}) }
type UserExamRole = jiaowuxitong.UserClassRole type UserExamRole = jiaowuxitong.UserClassRole
var UserExamCreator = jiaowuxitong.UserClassCreator
var UserExamRoleList = jiaowuxitong.UserClassRoleList var UserExamRoleList = jiaowuxitong.UserClassRoleList

View File

@ -11,7 +11,7 @@ type lesson struct {
Table Table
course course course course
userCourse userCourse userCourse userCourse
create string `name:"create title* content*" role:"leader"` create string `name:"create title* content*" role:"teacher"`
} }
func (s lesson) Create(m *ice.Message, arg ...string) { func (s lesson) Create(m *ice.Message, arg ...string) {

View File

@ -7,9 +7,7 @@ import (
type Portal struct { type Portal struct {
jiaowuxitong.Portal jiaowuxitong.Portal
placeCreate string `name:"placeCreate city_name* school_name* course_name*" role:"void"` placeCreate string `name:"placeCreate city_name* school_name* course_type*:select course_name*" role:"void"`
} }
func init() { func init() { gonganxitong.PortalCmd(Portal{Portal: jiaowuxitong.NewPortal(userCourse{}, course{})}) }
gonganxitong.PortalCmd(Portal{Portal: jiaowuxitong.NewPortal(userCourse{}, course{})})
}

View File

@ -12,5 +12,4 @@ func init() { ice.TeamCtxCmd(userCourse{}) }
type UserCourseRole = jiaowuxitong.UserClassRole type UserCourseRole = jiaowuxitong.UserClassRole
var UserCourseCreator = jiaowuxitong.UserClassCreator
var UserCourseRoleList = jiaowuxitong.UserClassRoleList var UserCourseRoleList = jiaowuxitong.UserClassRoleList