Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FIX sql 1.7.1 bug #588

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion go.mod
Expand Up @@ -8,7 +8,7 @@ require (
github.com/GoAdminGroup/html v0.0.1
github.com/NebulousLabs/fastrand v0.0.0-20181203155948-6fb6489aac4e
github.com/denisenkom/go-mssqldb v0.0.0-20200206145737-bbfc9a55622e
github.com/go-sql-driver/mysql v1.5.0
github.com/go-sql-driver/mysql v1.7.1
github.com/google/uuid v1.3.0 // indirect
github.com/jawher/mow.cli v1.2.0 // indirect
github.com/jteeuwen/go-bindata v3.0.7+incompatible // indirect
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Expand Up @@ -47,6 +47,8 @@ github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZp
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
Expand Down
24 changes: 20 additions & 4 deletions plugins/admin/models/user.go
Expand Up @@ -3,6 +3,7 @@ package models
import (
"database/sql"
"net/url"
"reflect"
"regexp"
"strconv"
"strings"
Expand Down Expand Up @@ -339,17 +340,32 @@ func (t UserModel) WithMenus() UserModel {
}

var menuIds []int64
var midInt int
var mid2Int int
var mInt int

for _, mid := range menuIdsModel {
if parentId, ok := mid["parent_id"].(int64); ok && parentId != 0 {
if reflect.TypeOf(mid["parent_id"]).String() == "[]uint8" {
midInt, _ = strconv.Atoi(string(mid["parent_id"].([]uint8)))
mInt, _ = strconv.Atoi(string(mid["menu_id"].([]uint8)))
} else {
midInt = int(mid["parent_id"].(int64))
mInt = int(mid["menu_id"].(int64))
}
if midInt != 0 {
for _, mid2 := range menuIdsModel {
if mid2["menu_id"].(int64) == mid["parent_id"].(int64) {
menuIds = append(menuIds, mid["menu_id"].(int64))
if reflect.TypeOf(mid2["menu_id"]).String() == "[]uint8" {
mid2Int, _ = strconv.Atoi(string(mid2["menu_id"].([]uint8)))
} else {
mid2Int = int(mid2["menu_id"].(int64))
}
if mid2Int == midInt {
menuIds = append(menuIds, int64(mInt))
break
}
}
} else {
menuIds = append(menuIds, mid["menu_id"].(int64))
menuIds = append(menuIds, int64(mInt))
}
}

Expand Down
18 changes: 14 additions & 4 deletions template/types/form.go
Expand Up @@ -7,6 +7,7 @@ import (
"html"
"html/template"
"net/http"
"reflect"
"strconv"
"strings"
"time"
Expand Down Expand Up @@ -209,10 +210,19 @@ func (f *FormField) setOptionsFromSQL(sql *db.SQL) {
queryRes, err := sql.All()
if err == nil {
for _, item := range queryRes {
f.Options = append(f.Options, FieldOption{
Value: fmt.Sprintf("%v", item[f.OptionTable.ValueField]),
Text: fmt.Sprintf("%v", item[f.OptionTable.TextField]),
})
value := item[f.OptionTable.ValueField]
typeStr := reflect.TypeOf(value).String()
if typeStr == "[]uint8" {
f.Options = append(f.Options, FieldOption{
Value: fmt.Sprintf("%v", string(value.([]uint8))),
Text: fmt.Sprintf("%v", item[f.OptionTable.TextField]),
})
} else {
f.Options = append(f.Options, FieldOption{
Value: fmt.Sprintf("%v", value),
Text: fmt.Sprintf("%v", item[f.OptionTable.TextField]),
})
}
}
}

Expand Down