Display an error message on edit feed page when the feed URL is not unique
This commit is contained in:
parent
4834e934f2
commit
e2d862f2f6
3 changed files with 7 additions and 3 deletions
|
@ -115,7 +115,7 @@ func (h *handler) updateFeed(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if validationErr := validator.ValidateFeedModification(h.store, userID, &feedModificationRequest); validationErr != nil {
|
if validationErr := validator.ValidateFeedModification(h.store, userID, originalFeed.ID, &feedModificationRequest); validationErr != nil {
|
||||||
json.BadRequest(w, r, validationErr.Error())
|
json.BadRequest(w, r, validationErr.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,7 @@ func (h *handler) updateFeed(w http.ResponseWriter, r *http.Request) {
|
||||||
UrlRewriteRules: model.OptionalString(feedForm.UrlRewriteRules),
|
UrlRewriteRules: model.OptionalString(feedForm.UrlRewriteRules),
|
||||||
}
|
}
|
||||||
|
|
||||||
if validationErr := validator.ValidateFeedModification(h.store, loggedUser.ID, feedModificationRequest); validationErr != nil {
|
if validationErr := validator.ValidateFeedModification(h.store, loggedUser.ID, feed.ID, feedModificationRequest); validationErr != nil {
|
||||||
view.Set("errorMessage", validationErr.Translate(loggedUser.Language))
|
view.Set("errorMessage", validationErr.Translate(loggedUser.Language))
|
||||||
html.OK(w, r, view.Render("edit_feed"))
|
html.OK(w, r, view.Render("edit_feed"))
|
||||||
return
|
return
|
||||||
|
|
|
@ -39,7 +39,7 @@ func ValidateFeedCreation(store *storage.Storage, userID int64, request *model.F
|
||||||
}
|
}
|
||||||
|
|
||||||
// ValidateFeedModification validates feed modification.
|
// ValidateFeedModification validates feed modification.
|
||||||
func ValidateFeedModification(store *storage.Storage, userID int64, request *model.FeedModificationRequest) *locale.LocalizedError {
|
func ValidateFeedModification(store *storage.Storage, userID, feedID int64, request *model.FeedModificationRequest) *locale.LocalizedError {
|
||||||
if request.FeedURL != nil {
|
if request.FeedURL != nil {
|
||||||
if *request.FeedURL == "" {
|
if *request.FeedURL == "" {
|
||||||
return locale.NewLocalizedError("error.feed_url_not_empty")
|
return locale.NewLocalizedError("error.feed_url_not_empty")
|
||||||
|
@ -48,6 +48,10 @@ func ValidateFeedModification(store *storage.Storage, userID int64, request *mod
|
||||||
if !IsValidURL(*request.FeedURL) {
|
if !IsValidURL(*request.FeedURL) {
|
||||||
return locale.NewLocalizedError("error.invalid_feed_url")
|
return locale.NewLocalizedError("error.invalid_feed_url")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if store.AnotherFeedURLExists(userID, feedID, *request.FeedURL) {
|
||||||
|
return locale.NewLocalizedError("error.feed_already_exists")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if request.SiteURL != nil {
|
if request.SiteURL != nil {
|
||||||
|
|
Loading…
Add table
Reference in a new issue