1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-08-01 17:38:37 +00:00

Check for category uniqueness before saving

This commit is contained in:
Frédéric Guillot 2017-11-21 14:57:27 -08:00
parent 5983db1a77
commit 238b9e4c85
10 changed files with 47 additions and 12 deletions

View file

@ -1,5 +1,5 @@
// Code generated by go generate; DO NOT EDIT.
// 2017-11-21 14:38:46.651098874 -0800 PST m=+0.002920446
// 2017-11-21 14:55:14.42928305 -0800 PST m=+0.010828954
package static

View file

@ -1,5 +1,5 @@
// Code generated by go generate; DO NOT EDIT.
// 2017-11-21 14:38:46.651532115 -0800 PST m=+0.003353687
// 2017-11-21 14:55:14.43289693 -0800 PST m=+0.014442834
package static

View file

@ -1,5 +1,5 @@
// Code generated by go generate; DO NOT EDIT.
// 2017-11-21 14:38:46.652422004 -0800 PST m=+0.004243576
// 2017-11-21 14:55:14.43700259 -0800 PST m=+0.018548494
package static

View file

@ -1,5 +1,5 @@
// Code generated by go generate; DO NOT EDIT.
// 2017-11-21 14:38:46.654164863 -0800 PST m=+0.005986435
// 2017-11-21 14:55:14.455330256 -0800 PST m=+0.036876160
package template

View file

@ -1,5 +1,5 @@
// Code generated by go generate; DO NOT EDIT.
// 2017-11-21 14:38:46.652925155 -0800 PST m=+0.004746727
// 2017-11-21 14:55:14.438565193 -0800 PST m=+0.020111097
package template

View file

@ -6,10 +6,11 @@ package controller
import (
"errors"
"log"
"github.com/miniflux/miniflux2/model"
"github.com/miniflux/miniflux2/server/core"
"github.com/miniflux/miniflux2/server/ui/form"
"log"
)
func (c *Controller) ShowCategories(ctx *core.Context, request *core.Request, response *core.Response) {
@ -104,6 +105,19 @@ func (c *Controller) SaveCategory(ctx *core.Context, request *core.Request, resp
return
}
duplicateCategory, err := c.store.GetCategoryByTitle(user.ID, categoryForm.Title)
if err != nil {
response.Html().ServerError(err)
return
}
if duplicateCategory != nil {
response.Html().Render("create_category", args.Merge(tplParams{
"errorMessage": "This category already exists.",
}))
return
}
category := model.Category{Title: categoryForm.Title, UserID: user.ID}
err = c.store.CreateCategory(&category)
if err != nil {
@ -158,6 +172,13 @@ func (c *Controller) UpdateCategory(ctx *core.Context, request *core.Request, re
return
}
if c.store.AnotherCategoryExists(user.ID, category.ID, categoryForm.Title) {
response.Html().Render("edit_category", args.Merge(tplParams{
"errorMessage": "This category already exists.",
}))
return
}
err = c.store.UpdateCategory(categoryForm.Merge(category))
if err != nil {
log.Println(err)