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