Browse Source

Slight simplification of accessibleRepositoryCondition (#10875)

* Slight simplification of accessibleRepositoryCondition

Signed-off-by: Andrew Thornton <art27@cantab.net>
tags/v1.13.0-dev
zeripath GitHub 5 years ago
parent
commit
35cdd9c0b7
1 changed files with 6 additions and 5 deletions
  1. +6
    -5
      models/repo_list.go

+ 6
- 5
models/repo_list.go View File

@@ -353,11 +353,12 @@ func accessibleRepositoryCondition(user *User) builder.Cond {
// 1. Be able to see all non-private repositories that either: // 1. Be able to see all non-private repositories that either:
cond = cond.Or(builder.And( cond = cond.Or(builder.And(
builder.Eq{"`repository`.is_private": false}, builder.Eq{"`repository`.is_private": false},
builder.Or(
// A. Aren't in organisations __OR__
builder.NotIn("`repository`.owner_id", builder.Select("id").From("`user`").Where(builder.Eq{"type": UserTypeOrganization})),
// B. Isn't a private organisation. Limited is OK as long as we're logged in.
builder.NotIn("`repository`.owner_id", builder.Select("id").From("`user`").Where(builder.In("visibility", orgVisibilityLimit))))))
// 2. Aren't in an private organisation or limited organisation if we're not logged in
builder.NotIn("`repository`.owner_id", builder.Select("id").From("`user`").Where(
builder.And(
builder.Eq{"type": UserTypeOrganization},
builder.In("visibility", orgVisibilityLimit)),
))))
} }


if user != nil { if user != nil {


Loading…
Cancel
Save