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">
|
<a href="{{.AddressObject.URL}}/edit">
|
||||||
Edit
|
Edit
|
||||||
</a>
|
</a>
|
||||||
|
<form action="{{.AddressObject.URL}}/delete" method="post">
|
||||||
|
<input type="submit" value="Delete">
|
||||||
|
</form>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
|
@ -211,4 +211,22 @@ func registerRoutes(p *plugin) {
|
||||||
|
|
||||||
p.GET("/contacts/:path/edit", updateContact)
|
p.GET("/contacts/:path/edit", updateContact)
|
||||||
p.POST("/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