plugins/carddav: add route to delete a contact
This commit is contained in:
parent
297798dca2
commit
37be46c047
2 changed files with 21 additions and 0 deletions
|
@ -14,6 +14,9 @@
|
|||
<a href="{{.AddressObject.URL}}/edit">
|
||||
Edit
|
||||
</a>
|
||||
<form action="{{.AddressObject.URL}}/delete" method="post">
|
||||
<input type="submit" value="Delete">
|
||||
</form>
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
|
|
@ -211,4 +211,22 @@ func registerRoutes(p *plugin) {
|
|||
|
||||
p.GET("/contacts/:path/edit", updateContact)
|
||||
p.POST("/contacts/:path/edit", updateContact)
|
||||
|
||||
p.POST("/contacts/:path/delete", func(ctx *alps.Context) error {
|
||||
path, err := parseObjectPath(ctx.Param("path"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
c, err := p.client(ctx.Session)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := c.RemoveAll(path); err != nil {
|
||||
return fmt.Errorf("failed to delete address object: %v", err)
|
||||
}
|
||||
|
||||
return ctx.Redirect(http.StatusFound, "/contacts")
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue