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  }