@@ -17,6 +17,7 @@ import (
1717	"code.gitea.io/gitea/modules/optional" 
1818	repo_module "code.gitea.io/gitea/modules/repository" 
1919	"code.gitea.io/gitea/modules/setting" 
20+ 	"code.gitea.io/gitea/modules/structs" 
2021	"code.gitea.io/gitea/modules/templates" 
2122	"code.gitea.io/gitea/modules/util" 
2223	"code.gitea.io/gitea/modules/web" 
@@ -25,7 +26,6 @@ import (
2526	"code.gitea.io/gitea/services/context" 
2627	"code.gitea.io/gitea/services/forms" 
2728	org_service "code.gitea.io/gitea/services/org" 
28- 	repo_service "code.gitea.io/gitea/services/repository" 
2929	user_service "code.gitea.io/gitea/services/user" 
3030)
3131
@@ -83,38 +83,17 @@ func SettingsPost(ctx *context.Context) {
8383		Description :               optional .Some (form .Description ),
8484		Website :                   optional .Some (form .Website ),
8585		Location :                  optional .Some (form .Location ),
86- 		Visibility :                optional .Some (form .Visibility ),
8786		RepoAdminChangeTeamAccess : optional .Some (form .RepoAdminChangeTeamAccess ),
8887	}
8988	if  ctx .Doer .IsAdmin  {
9089		opts .MaxRepoCreation  =  optional .Some (form .MaxRepoCreation )
9190	}
9291
93- 	visibilityChanged  :=  org .Visibility  !=  form .Visibility 
94- 
9592	if  err  :=  user_service .UpdateUser (ctx , org .AsUser (), opts ); err  !=  nil  {
9693		ctx .ServerError ("UpdateUser" , err )
9794		return 
9895	}
9996
100- 	// update forks visibility 
101- 	if  visibilityChanged  {
102- 		repos , _ , err  :=  repo_model .GetUserRepositories (ctx , repo_model.SearchRepoOptions {
103- 			Actor : org .AsUser (), Private : true , ListOptions : db.ListOptions {Page : 1 , PageSize : org .NumRepos },
104- 		})
105- 		if  err  !=  nil  {
106- 			ctx .ServerError ("GetRepositories" , err )
107- 			return 
108- 		}
109- 		for  _ , repo  :=  range  repos  {
110- 			repo .OwnerName  =  org .Name 
111- 			if  err  :=  repo_service .UpdateRepository (ctx , repo , true ); err  !=  nil  {
112- 				ctx .ServerError ("UpdateRepository" , err )
113- 				return 
114- 			}
115- 		}
116- 	}
117- 
11897	log .Trace ("Organization setting updated: %s" , org .Name )
11998	ctx .Flash .Success (ctx .Tr ("org.settings.update_setting_success" ))
12099	ctx .Redirect (ctx .Org .OrgLink  +  "/settings" )
@@ -251,3 +230,28 @@ func SettingsRenamePost(ctx *context.Context) {
251230	ctx .Flash .Success (ctx .Tr ("org.settings.rename_success" , oldOrgName , newOrgName ))
252231	ctx .JSONRedirect (setting .AppSubURL  +  "/org/"  +  url .PathEscape (newOrgName ) +  "/settings" )
253232}
233+ 
234+ // SettingsChangeVisibilityPost response for change organization visibility 
235+ func  SettingsChangeVisibilityPost (ctx  * context.Context ) {
236+ 	visibility , ok  :=  structs .VisibilityModes [ctx .FormString ("visibility" )]
237+ 	if  ! ok  {
238+ 		ctx .Flash .Error (ctx .Tr ("invalid_data" , visibility ))
239+ 		ctx .JSONRedirect (setting .AppSubURL  +  "/org/"  +  url .PathEscape (ctx .Org .Organization .Name ) +  "/settings" )
240+ 		return 
241+ 	}
242+ 
243+ 	if  ctx .Org .Organization .Visibility  ==  visibility  {
244+ 		ctx .Flash .Info (ctx .Tr ("nothing_has_been_changed" ))
245+ 		ctx .JSONRedirect (setting .AppSubURL  +  "/org/"  +  url .PathEscape (ctx .Org .Organization .Name ) +  "/settings" )
246+ 		return 
247+ 	}
248+ 
249+ 	if  err  :=  org_service .ChangeOrganizationVisibility (ctx , ctx .Org .Organization , visibility ); err  !=  nil  {
250+ 		log .Error ("ChangeOrganizationVisibility: %v" , err )
251+ 		ctx .JSONError (ctx .Tr ("error.occurred" ))
252+ 		return 
253+ 	}
254+ 
255+ 	ctx .Flash .Success (ctx .Tr ("org.settings.change_visibility_success" , ctx .Org .Organization .Name ))
256+ 	ctx .JSONRedirect (setting .AppSubURL  +  "/org/"  +  url .PathEscape (ctx .Org .Organization .Name ) +  "/settings" )
257+ }
0 commit comments