github.com/kotovmak/go-admin@v1.1.1/plugins/admin/modules/guard/delete.go (about) 1 package guard 2 3 import ( 4 "github.com/kotovmak/go-admin/context" 5 "github.com/kotovmak/go-admin/modules/errors" 6 "github.com/kotovmak/go-admin/plugins/admin/modules/table" 7 ) 8 9 type DeleteParam struct { 10 Panel table.Table 11 Id string 12 Prefix string 13 } 14 15 func (g *Guard) Delete(ctx *context.Context) { 16 panel, prefix := g.table(ctx) 17 if !panel.GetDeletable() { 18 alert(ctx, panel, errors.OperationNotAllow, g.conn, g.navBtns) 19 ctx.Abort() 20 return 21 } 22 23 id := ctx.FormValue("id") 24 if id == "" { 25 alert(ctx, panel, errors.WrongID, g.conn, g.navBtns) 26 ctx.Abort() 27 return 28 } 29 30 ctx.SetUserValue(deleteParamKey, &DeleteParam{ 31 Panel: panel, 32 Id: id, 33 Prefix: prefix, 34 }) 35 ctx.Next() 36 } 37 38 func GetDeleteParam(ctx *context.Context) *DeleteParam { 39 return ctx.UserValue[deleteParamKey].(*DeleteParam) 40 }