aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2022-04-01 14:05:31 +0800
committerGitHub <noreply@github.com>2022-04-01 14:05:31 +0800
commit89b9d42f083b1f83ee8fc3ba0feaaa7cf04ec05b (patch)
treee5ab9cdf543d84b89324a4c70e27d1494232d185
parent124b072f0b69650baff086b9688d198f5a6761af (diff)
downloadgitea-89b9d42f083b1f83ee8fc3ba0feaaa7cf04ec05b.tar.gz
gitea-89b9d42f083b1f83ee8fc3ba0feaaa7cf04ec05b.zip
Fix broken of team create (#19288)
* Fix broken of team create * Update models/organization/team.go Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
-rw-r--r--models/organization/team.go12
-rw-r--r--models/repo_permission.go2
-rw-r--r--models/review.go2
3 files changed, 9 insertions, 7 deletions
diff --git a/models/organization/team.go b/models/organization/team.go
index 1617005841..077fba6a60 100644
--- a/models/organization/team.go
+++ b/models/organization/team.go
@@ -239,15 +239,17 @@ func (t *Team) GetMembersCtx(ctx context.Context) (err error) {
// UnitEnabled returns if the team has the given unit type enabled
func (t *Team) UnitEnabled(tp unit.Type) bool {
- return t.unitEnabled(db.DefaultContext, tp)
+ return t.UnitAccessMode(tp) > perm.AccessModeNone
}
-func (t *Team) unitEnabled(ctx context.Context, tp unit.Type) bool {
- return t.UnitAccessMode(ctx, tp) > perm.AccessModeNone
+// UnitAccessMode returns if the team has the given unit type enabled
+// it is called in templates, should not be replaced by `UnitAccessModeCtx(ctx ...)`
+func (t *Team) UnitAccessMode(tp unit.Type) perm.AccessMode {
+ return t.UnitAccessModeCtx(db.DefaultContext, tp)
}
-// UnitAccessMode returns if the team has the given unit type enabled
-func (t *Team) UnitAccessMode(ctx context.Context, tp unit.Type) perm.AccessMode {
+// UnitAccessModeCtx returns if the team has the given unit type enabled
+func (t *Team) UnitAccessModeCtx(ctx context.Context, tp unit.Type) perm.AccessMode {
if err := t.getUnits(ctx); err != nil {
log.Warn("Error loading team (ID: %d) units: %s", t.ID, err.Error())
}
diff --git a/models/repo_permission.go b/models/repo_permission.go
index 4dfc63d4e1..3e9ad04482 100644
--- a/models/repo_permission.go
+++ b/models/repo_permission.go
@@ -250,7 +250,7 @@ func getUserRepoPermission(ctx context.Context, repo *repo_model.Repository, use
for _, u := range repo.Units {
var found bool
for _, team := range teams {
- teamMode := team.UnitAccessMode(ctx, u.Type)
+ teamMode := team.UnitAccessModeCtx(ctx, u.Type)
if teamMode > perm_model.AccessModeNone {
m := perm.UnitsMode[u.Type]
if m < teamMode {
diff --git a/models/review.go b/models/review.go
index 6ef8d530b6..f360d459cf 100644
--- a/models/review.go
+++ b/models/review.go
@@ -273,7 +273,7 @@ func isOfficialReviewerTeam(ctx context.Context, issue *Issue, team *organizatio
}
if !pr.ProtectedBranch.EnableApprovalsWhitelist {
- return team.UnitAccessMode(ctx, unit.TypeCode) >= perm.AccessModeWrite, nil
+ return team.UnitAccessModeCtx(ctx, unit.TypeCode) >= perm.AccessModeWrite, nil
}
return base.Int64sContains(pr.ProtectedBranch.ApprovalsWhitelistTeamIDs, team.ID), nil