Fix SQL condition bug in GetFeeds(..) (#2360)

release/v1.15
Ethan Koenig 2017-08-22 22:51:58 -07:00 committed by Lauris BH
parent 9413b48a0b
commit fd6e91077a
1 changed files with 5 additions and 4 deletions

View File

@ -733,12 +733,13 @@ func GetFeeds(opts GetFeedsOptions) ([]*Action, error) {
cond = cond.And(builder.In("repo_id", repoIDs)) cond = cond.And(builder.In("repo_id", repoIDs))
} }
var userIDCond builder.Cond = builder.Eq{"user_id": opts.RequestedUser.ID}
if opts.Collaborate { if opts.Collaborate {
cond = builder.Eq{"user_id": opts.RequestedUser.ID}.Or( userIDCond = userIDCond.Or(builder.Expr(
builder.Expr(`repo_id IN (SELECT repo_id FROM "access" WHERE access.user_id = ?)`, opts.RequestedUser.ID)) `repo_id IN (SELECT repo_id FROM "access" WHERE access.user_id = ?)`,
} else { opts.RequestedUser.ID))
cond = builder.Eq{"user_id": opts.RequestedUser.ID}
} }
cond = cond.And(userIDCond)
if opts.OnlyPerformedBy { if opts.OnlyPerformedBy {
cond = cond.And(builder.Eq{"act_user_id": opts.RequestedUser.ID}) cond = cond.And(builder.Eq{"act_user_id": opts.RequestedUser.ID})