增加表关联新建功能,同时修复数据库bug

This commit is contained in:
2021-08-30 07:36:17 +08:00
parent e1f4876621
commit 62cf625fe9
10 changed files with 100 additions and 332 deletions
+1
View File
@@ -84,6 +84,7 @@ var ColumnNameType = []ColumnShow{
{"modify_time", false, false, true, false, "", false},
{"image", false, true, true, false, "image", false},
{"img", false, true, true, false, "image", false},
{"avatar", false, true, true, false, "image", false},
{"file", false, true, true, false, "file", false},
{"age", false, true, true, false, "", false},
{"email", false, true, true, false, "", false},
+18 -6
View File
@@ -124,6 +124,9 @@ func (that *MakeCode) Db2JSON(name string, path string, db db.HoTimeDB) {
}
//idSlice=append(idSlice,nowTables)
for _, v := range nowTables {
if v.GetString("name") == "cached" {
continue
}
if that.TableConfig.GetMap(v.GetString("name")) == nil {
if v.GetString("label") == "" {
v["label"] = v.GetString("name")
@@ -181,14 +184,14 @@ func (that *MakeCode) Db2JSON(name string, path string, db db.HoTimeDB) {
coloum := that.TableColumns[v.GetString("name")][info.GetString("name")]
if coloum == nil {
//根据类型判断真实类型
for k, v := range ColumnDataType {
if strings.Contains(info.GetString("type"), k) {
if strings.Contains(info.GetString("type"), k) || strings.Contains(info.GetString("name"), k) {
info["type"] = v
break
}
}
coloum = Map{
"name": info.GetString("name"),
"type": info.GetString("type"),
@@ -516,10 +519,15 @@ func (that *MakeCode) Add(table string, req *http.Request) Map {
return nil
}
reqValue := req.FormValue(v.GetString("name"))
if reqValue == "" && strings.Contains(v.GetString("name"), "id") {
if (reqValue == "" || reqValue == "null") && strings.Contains(v.GetString("name"), "id") {
data[v.GetString("name")] = nil
} else {
data[v.GetString("name")] = reqValue
if v.GetString("type") == "password" {
data[v.GetString("name")] = Md5(reqValue)
} else {
data[v.GetString("name")] = reqValue
}
}
}
@@ -539,10 +547,14 @@ func (that *MakeCode) Edit(table string, req *http.Request) Map {
}
if v.Get("edit") == nil || v.GetBool("edit") {
reqValue := req.FormValue(v.GetString("name"))
if reqValue == "" {
if reqValue == "" || reqValue == "null" {
continue
}
data[v.GetString("name")] = reqValue
if v.GetString("type") == "password" {
data[v.GetString("name")] = Md5(reqValue)
} else {
data[v.GetString("name")] = reqValue
}
}
}
+23
View File
@@ -4,6 +4,7 @@ var InitTpt = `package {{name}}
import (
. "../../../hotime"
. "../../../hotime/common"
)
var ID = "{{id}}"
@@ -12,6 +13,28 @@ var ID = "{{id}}"
var Project = Proj{
//"user": UserCtr,
{{tablesCtr}}
"hotime":Ctr{
"login": func(this *Context) {
name:=this.Req.FormValue("name")
password:=this.Req.FormValue("password")
if name==""||password==""{
this.Display(3,"参数不足")
return
}
user:=this.Db.Get("{{name}}","*",Map{"AND":Map{"name":name,"password":Md5(password)}})
if user==nil{
this.Display(5,"登录失败")
return
}
this.Session("id",user.GetCeilInt("id"))
this.Session("name",name)
this.Display(0,"登录成功")
},
"logout": func(this *Context) {
this.Session("id",nil)
this.Session("name",nil)
this.Display(0,"退出登录成功")
},
}
`
var CtrTpt = `package {{name}}