Make sure people don't create duplicate Fever usernames
This commit is contained in:
parent
9eb91e6f0b
commit
038ea790f7
4 changed files with 27 additions and 5 deletions
|
@ -1,5 +1,5 @@
|
|||
// Code generated by go generate; DO NOT EDIT.
|
||||
// 2017-12-29 14:12:55.369940267 -0800 PST m=+0.042539315
|
||||
// 2017-12-29 14:34:59.486421907 -0800 PST m=+0.007402806
|
||||
|
||||
package locale
|
||||
|
||||
|
@ -210,12 +210,13 @@ var translations = map[string]string{
|
|||
"Toggle bookmark": "Ajouter/Enlever favoris",
|
||||
"Close modal dialog": "Fermer la boite de dialogue",
|
||||
"Save article": "Sauvegarder l'article",
|
||||
"There is already someone associated with this provider!": "Il y a déjà quelqu'un d'associé avec ce provider !"
|
||||
"There is already someone associated with this provider!": "Il y a déjà quelqu'un d'associé avec ce provider !",
|
||||
"There is already someone else with the same Fever username!": "Il y a déjà quelqu'un d'autre avec le même nom d'utilisateur Fever !"
|
||||
}
|
||||
`,
|
||||
}
|
||||
|
||||
var translationsChecksums = map[string]string{
|
||||
"en_US": "6fe95384260941e8a5a3c695a655a932e0a8a6a572c1e45cb2b1ae8baa01b897",
|
||||
"fr_FR": "710be25933b58ab1449ec8797696cf937d4854fa0e9db555e2ef8fadd09b4382",
|
||||
"fr_FR": "3d8c0e211eb96ab28e2fd8fced718b6348a63ea824e54d0729a56e4e3f26ba64",
|
||||
}
|
||||
|
|
|
@ -194,5 +194,6 @@
|
|||
"Toggle bookmark": "Ajouter/Enlever favoris",
|
||||
"Close modal dialog": "Fermer la boite de dialogue",
|
||||
"Save article": "Sauvegarder l'article",
|
||||
"There is already someone associated with this provider!": "Il y a déjà quelqu'un d'associé avec ce provider !"
|
||||
"There is already someone associated with this provider!": "Il y a déjà quelqu'un d'associé avec ce provider !",
|
||||
"There is already someone else with the same Fever username!": "Il y a déjà quelqu'un d'autre avec le même nom d'utilisateur Fever !"
|
||||
}
|
||||
|
|
|
@ -62,6 +62,12 @@ func (c *Controller) UpdateIntegration(ctx *core.Context, request *core.Request,
|
|||
integrationForm := form.NewIntegrationForm(request.Request())
|
||||
integrationForm.Merge(integration)
|
||||
|
||||
if integration.FeverUsername != "" && c.store.HasDuplicateFeverUsername(user.ID, integration.FeverUsername) {
|
||||
ctx.SetFlashErrorMessage(ctx.Translate("There is already someone else with the same Fever username!"))
|
||||
response.Redirect(ctx.Route("integrations"))
|
||||
return
|
||||
}
|
||||
|
||||
if integration.FeverEnabled {
|
||||
integration.FeverToken = fmt.Sprintf("%x", md5.Sum([]byte(integration.FeverUsername+":"+integration.FeverPassword)))
|
||||
} else {
|
||||
|
|
|
@ -11,11 +11,25 @@ import (
|
|||
"github.com/miniflux/miniflux/model"
|
||||
)
|
||||
|
||||
// HasDuplicateFeverUsername checks if another user have the same fever username.
|
||||
func (s *Storage) HasDuplicateFeverUsername(userID int64, feverUsername string) bool {
|
||||
query := `
|
||||
SELECT
|
||||
count(*) as c
|
||||
FROM integrations
|
||||
WHERE user_id != $1 AND fever_username=$2
|
||||
`
|
||||
|
||||
var result int
|
||||
s.db.QueryRow(query, userID, feverUsername).Scan(&result)
|
||||
return result >= 1
|
||||
}
|
||||
|
||||
// UserByFeverToken returns a user by using the Fever API token.
|
||||
func (s *Storage) UserByFeverToken(token string) (*model.User, error) {
|
||||
query := `
|
||||
SELECT
|
||||
users.id, users.is_admin, users.timezone
|
||||
users.id, users.is_admin, users.timezone
|
||||
FROM users
|
||||
LEFT JOIN integrations ON integrations.user_id=users.id
|
||||
WHERE integrations.fever_enabled='t' AND integrations.fever_token=$1
|
||||
|
|
Loading…
Add table
Reference in a new issue