diff --git a/routers/api/v1/group/group.go b/routers/api/v1/group/group.go index 6f6638eb8e..16364f792b 100644 --- a/routers/api/v1/group/group.go +++ b/routers/api/v1/group/group.go @@ -143,7 +143,7 @@ func MoveGroup(ctx *context.APIContext) { } err = group_service.MoveGroupItem(ctx, group_service.MoveGroupOptions{ form.NewParent, id, true, npos, - }, 3) + }, ctx.Doer) if group_model.IsErrGroupNotExist(err) { ctx.APIErrorNotFound() return diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go index 61a139875a..416d387262 100644 --- a/routers/api/v1/repo/repo.go +++ b/routers/api/v1/repo/repo.go @@ -1307,7 +1307,7 @@ func MoveRepoToGroup(ctx *context.APIContext) { IsGroup: false, NewPos: npos, ItemID: ctx.Repo.Repository.ID, NewParent: form.NewParent, - }, ctx.Doer.ID) + }, ctx.Doer) if err != nil { ctx.APIErrorInternal(err) return diff --git a/services/group/group.go b/services/group/group.go index 3fa3b01fd1..65320bf304 100644 --- a/services/group/group.go +++ b/services/group/group.go @@ -72,7 +72,7 @@ type MoveGroupOptions struct { NewPos int } -func MoveGroupItem(ctx context.Context, opts MoveGroupOptions, doerID int64) (err error) { +func MoveGroupItem(ctx context.Context, opts MoveGroupOptions, doer *user_model.User) (err error) { var committer db.Committer ctx, committer, err = db.TxContext(ctx) if err != nil { @@ -84,7 +84,7 @@ func MoveGroupItem(ctx context.Context, opts MoveGroupOptions, doerID int64) (er if err != nil { return err } - canAccessNewParent, err := parentGroup.CanAccess(ctx, doerID) + canAccessNewParent, err := parentGroup.CanAccess(ctx, doer) if err != nil { return err } diff --git a/services/group/group_test.go b/services/group/group_test.go index cbf4b1fe53..e23e82e098 100644 --- a/services/group/group_test.go +++ b/services/group/group_test.go @@ -1,6 +1,7 @@ package group import ( + user_model "code.gitea.io/gitea/models/user" "testing" "code.gitea.io/gitea/models/db" @@ -31,6 +32,9 @@ func TestNewGroup(t *testing.T) { func TestMoveGroup(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) + doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ + ID: 3, + }) testfn := func(gid int64) { cond := &group_model.FindGroupsOptions{ ParentGroupID: 123, @@ -38,7 +42,7 @@ func TestMoveGroup(t *testing.T) { } origCount := unittest.GetCount(t, new(group_model.Group), cond.ToConds()) - assert.NoError(t, MoveGroupItem(t.Context(), MoveGroupOptions{123, gid, true, -1}, 3)) + assert.NoError(t, MoveGroupItem(t.Context(), MoveGroupOptions{123, gid, true, -1}, doer)) unittest.AssertCountByCond(t, "repo_group", cond.ToConds(), origCount+1) } testfn(124) @@ -48,11 +52,14 @@ func TestMoveGroup(t *testing.T) { func TestMoveRepo(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) + doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ + ID: 3, + }) cond := repo_model.SearchRepositoryCondition(repo_model.SearchRepoOptions{ GroupID: 123, }) origCount := unittest.GetCount(t, new(repo_model.Repository), cond) - assert.NoError(t, MoveGroupItem(db.DefaultContext, MoveGroupOptions{123, 32, false, -1}, 3)) + assert.NoError(t, MoveGroupItem(db.DefaultContext, MoveGroupOptions{123, 32, false, -1}, doer)) unittest.AssertCountByCond(t, "repository", cond, origCount+1) }