unpublish entry
This commit is contained in:
parent
080614e83f
commit
9e64672f9c
|
@ -42,6 +42,16 @@
|
||||||
<br>
|
<br>
|
||||||
<hr>
|
<hr>
|
||||||
<br>
|
<br>
|
||||||
|
<form method="post" action="/editor/unpublish/{{.Entry.ID}}/" class="grid">
|
||||||
|
<label for="confirm">
|
||||||
|
Confirm unpublishing
|
||||||
|
<input type="checkbox" name="confirm" id="confirm" required />
|
||||||
|
</label>
|
||||||
|
<input type="submit" class="secondary outline" value="Unpublish" />
|
||||||
|
</form>
|
||||||
|
<br>
|
||||||
|
<hr>
|
||||||
|
<br>
|
||||||
<form method="post" action="/editor/delete/{{.Entry.ID}}/" class="grid">
|
<form method="post" action="/editor/delete/{{.Entry.ID}}/" class="grid">
|
||||||
<label for="confirm">
|
<label for="confirm">
|
||||||
Confirm deletion
|
Confirm deletion
|
||||||
|
|
|
@ -70,6 +70,7 @@ func NewWebApp(
|
||||||
editor.Get("/edit/:id/", editorHandler.HandleGetEdit)
|
editor.Get("/edit/:id/", editorHandler.HandleGetEdit)
|
||||||
editor.Post("/edit/:id/", editorHandler.HandlePostEdit)
|
editor.Post("/edit/:id/", editorHandler.HandlePostEdit)
|
||||||
editor.Post("/delete/:id/", editorHandler.HandlePostDelete)
|
editor.Post("/delete/:id/", editorHandler.HandlePostDelete)
|
||||||
|
editor.Post("/unpublish/:id/", editorHandler.HandlePostUnpublish)
|
||||||
|
|
||||||
// SiteConfig
|
// SiteConfig
|
||||||
siteConfig := app.Group("/site-config")
|
siteConfig := app.Group("/site-config")
|
||||||
|
|
|
@ -148,3 +148,19 @@ func (h *EditorHandler) HandlePostDelete(c *fiber.Ctx) error {
|
||||||
}
|
}
|
||||||
return c.Redirect("/")
|
return c.Redirect("/")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *EditorHandler) HandlePostUnpublish(c *fiber.Ctx) error {
|
||||||
|
c.Set(fiber.HeaderContentType, fiber.MIMETextHTML)
|
||||||
|
|
||||||
|
id := c.Params("id")
|
||||||
|
entry, err := h.entrySvc.FindById(id)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
entry.SetPublishedAt(nil)
|
||||||
|
err = h.entrySvc.Update(entry)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return c.Redirect("/posts/" + entry.ID() + "/")
|
||||||
|
}
|
||||||
|
|
|
@ -45,6 +45,10 @@ func (h *EntryHandler) Handle(c *fiber.Ctx) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if entry.PublishedAt() == nil || entry.PublishedAt().IsZero() {
|
||||||
|
return fiber.NewError(fiber.StatusNotFound, "Entry not found")
|
||||||
|
}
|
||||||
|
|
||||||
author, err := h.authorSvc.FindByName(entry.AuthorId())
|
author, err := h.authorSvc.FindByName(entry.AuthorId())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
author = &model.Author{}
|
author = &model.Author{}
|
||||||
|
|
Loading…
Reference in New Issue