summaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2023-11-01 03:03:12 +0100
committerGitHub <noreply@github.com>2023-11-01 10:03:12 +0800
commit6637bbf5100aa12cdfdf343ed89df0da1b650e9e (patch)
tree40d520e298d627dfdebc1c0fd7b46c059c6c3345 /routers
parent6ac2ade97d784fb3814b38c473558cc1dbc6cefb (diff)
downloadgitea-6637bbf5100aa12cdfdf343ed89df0da1b650e9e.tar.gz
gitea-6637bbf5100aa12cdfdf343ed89df0da1b650e9e.zip
Delete repos of org when purge delete user (#27273) (#27728)
Fixes https://codeberg.org/forgejo/forgejo/issues/1514 Backports #27273 --------- Co-authored-by: JakobDev <jakobdev@gmx.de>
Diffstat (limited to 'routers')
-rw-r--r--routers/api/v1/org/org.go2
-rw-r--r--routers/api/v1/user/repo.go2
-rw-r--r--routers/web/org/setting.go6
-rw-r--r--routers/web/user/home_test.go3
-rw-r--r--routers/web/user/package.go2
-rw-r--r--routers/web/user/setting/profile.go4
6 files changed, 10 insertions, 9 deletions
diff --git a/routers/api/v1/org/org.go b/routers/api/v1/org/org.go
index c5f531923b..a1deecf6c9 100644
--- a/routers/api/v1/org/org.go
+++ b/routers/api/v1/org/org.go
@@ -385,7 +385,7 @@ func Delete(ctx *context.APIContext) {
// "404":
// "$ref": "#/responses/notFound"
- if err := org.DeleteOrganization(ctx.Org.Organization); err != nil {
+ if err := org.DeleteOrganization(ctx, ctx.Org.Organization, false); err != nil {
ctx.Error(http.StatusInternalServerError, "DeleteOrganization", err)
return
}
diff --git a/routers/api/v1/user/repo.go b/routers/api/v1/user/repo.go
index 26ebf89746..b8b2d265bf 100644
--- a/routers/api/v1/user/repo.go
+++ b/routers/api/v1/user/repo.go
@@ -21,7 +21,7 @@ import (
func listUserRepos(ctx *context.APIContext, u *user_model.User, private bool) {
opts := utils.GetListOptions(ctx)
- repos, count, err := repo_model.GetUserRepositories(&repo_model.SearchRepoOptions{
+ repos, count, err := repo_model.GetUserRepositories(ctx, &repo_model.SearchRepoOptions{
Actor: u,
Private: private,
ListOptions: opts,
diff --git a/routers/web/org/setting.go b/routers/web/org/setting.go
index 0f082a70df..7152ae7eb0 100644
--- a/routers/web/org/setting.go
+++ b/routers/web/org/setting.go
@@ -75,7 +75,7 @@ func SettingsPost(ctx *context.Context) {
// Check if organization name has been changed.
if nameChanged {
- err := org_service.RenameOrganization(ctx, org, form.Name)
+ err := user_service.RenameUser(ctx, org.AsUser(), form.Name)
switch {
case user_model.IsErrUserAlreadyExist(err):
ctx.Data["OrgName"] = true
@@ -124,7 +124,7 @@ func SettingsPost(ctx *context.Context) {
// update forks visibility
if visibilityChanged {
- repos, _, err := repo_model.GetUserRepositories(&repo_model.SearchRepoOptions{
+ repos, _, err := repo_model.GetUserRepositories(ctx, &repo_model.SearchRepoOptions{
Actor: org.AsUser(), Private: true, ListOptions: db.ListOptions{Page: 1, PageSize: org.NumRepos},
})
if err != nil {
@@ -180,7 +180,7 @@ func SettingsDelete(ctx *context.Context) {
return
}
- if err := org_service.DeleteOrganization(ctx.Org.Organization); err != nil {
+ if err := org_service.DeleteOrganization(ctx, ctx.Org.Organization, false); err != nil {
if models.IsErrUserOwnRepos(err) {
ctx.Flash.Error(ctx.Tr("form.org_still_own_repo"))
ctx.Redirect(ctx.Org.OrgLink + "/settings/delete")
diff --git a/routers/web/user/home_test.go b/routers/web/user/home_test.go
index 0be9790548..1eb1fad057 100644
--- a/routers/web/user/home_test.go
+++ b/routers/web/user/home_test.go
@@ -7,6 +7,7 @@ import (
"net/http"
"testing"
+ "code.gitea.io/gitea/models/db"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unittest"
"code.gitea.io/gitea/modules/contexttest"
@@ -25,7 +26,7 @@ func TestArchivedIssues(t *testing.T) {
ctx.Req.Form.Set("state", "open")
// Assume: User 30 has access to two Repos with Issues, one of the Repos being archived.
- repos, _, _ := repo_model.GetUserRepositories(&repo_model.SearchRepoOptions{Actor: ctx.Doer})
+ repos, _, _ := repo_model.GetUserRepositories(db.DefaultContext, &repo_model.SearchRepoOptions{Actor: ctx.Doer})
assert.Len(t, repos, 3)
IsArchived := make(map[int64]bool)
NumIssues := make(map[int64]int)
diff --git a/routers/web/user/package.go b/routers/web/user/package.go
index cc200cc4d7..d8da6a192e 100644
--- a/routers/web/user/package.go
+++ b/routers/web/user/package.go
@@ -383,7 +383,7 @@ func PackageSettings(ctx *context.Context) {
ctx.Data["IsPackagesPage"] = true
ctx.Data["PackageDescriptor"] = pd
- repos, _, _ := repo_model.GetUserRepositories(&repo_model.SearchRepoOptions{
+ repos, _, _ := repo_model.GetUserRepositories(ctx, &repo_model.SearchRepoOptions{
Actor: pd.Owner,
Private: true,
})
diff --git a/routers/web/user/setting/profile.go b/routers/web/user/setting/profile.go
index c20bd76fae..18027fd59c 100644
--- a/routers/web/user/setting/profile.go
+++ b/routers/web/user/setting/profile.go
@@ -287,7 +287,7 @@ func Repos(ctx *context.Context) {
return
}
- userRepos, _, err := repo_model.GetUserRepositories(&repo_model.SearchRepoOptions{
+ userRepos, _, err := repo_model.GetUserRepositories(ctx, &repo_model.SearchRepoOptions{
Actor: ctxUser,
Private: true,
ListOptions: db.ListOptions{
@@ -312,7 +312,7 @@ func Repos(ctx *context.Context) {
ctx.Data["Dirs"] = repoNames
ctx.Data["ReposMap"] = repos
} else {
- repos, count64, err := repo_model.GetUserRepositories(&repo_model.SearchRepoOptions{Actor: ctxUser, Private: true, ListOptions: opts})
+ repos, count64, err := repo_model.GetUserRepositories(ctx, &repo_model.SearchRepoOptions{Actor: ctxUser, Private: true, ListOptions: opts})
if err != nil {
ctx.ServerError("GetUserRepositories", err)
return