mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 15:04:00 +01:00 
			
		
		
		
	Add support for DEFAULT_ORG_MEMBER_VISIBLE (#7669)
* Add support for DEFAULT_ORG_MEMBER_VISIBLE * Correct formatting * Improved description in cheat sheet. * Add test for DefaultOrgMemberVisible * Remove dead code
This commit is contained in:
		
							parent
							
								
									f83db078f0
								
							
						
					
					
						commit
						e3115cc019
					
				@ -405,6 +405,9 @@ DEFAULT_ALLOW_CREATE_ORGANIZATION = true
 | 
				
			|||||||
; Private is only for member of the organization
 | 
					; Private is only for member of the organization
 | 
				
			||||||
; Public is for everyone
 | 
					; Public is for everyone
 | 
				
			||||||
DEFAULT_ORG_VISIBILITY = public
 | 
					DEFAULT_ORG_VISIBILITY = public
 | 
				
			||||||
 | 
					; Default value for DefaultOrgMemberVisible
 | 
				
			||||||
 | 
					; True will make the membership of the users visible when added to the organisation  
 | 
				
			||||||
 | 
					DEFAULT_ORG_MEMBER_VISIBLE = false
 | 
				
			||||||
; Default value for EnableDependencies
 | 
					; Default value for EnableDependencies
 | 
				
			||||||
; Repositories will use dependencies by default depending on this setting
 | 
					; Repositories will use dependencies by default depending on this setting
 | 
				
			||||||
DEFAULT_ENABLE_DEPENDENCIES = true
 | 
					DEFAULT_ENABLE_DEPENDENCIES = true
 | 
				
			||||||
 | 
				
			|||||||
@ -246,6 +246,7 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`.
 | 
				
			|||||||
- `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**: Show Registration Button
 | 
					- `SHOW_REGISTRATION_BUTTON`: **! DISABLE\_REGISTRATION**: Show Registration Button
 | 
				
			||||||
- `AUTO_WATCH_NEW_REPOS`: **true**: Enable this to let all organisation users watch new repos when they are created
 | 
					- `AUTO_WATCH_NEW_REPOS`: **true**: Enable this to let all organisation users watch new repos when they are created
 | 
				
			||||||
- `DEFAULT_ORG_VISIBILITY`: **public**: Set default visibility mode for organisations, either "public", "limited" or "private".
 | 
					- `DEFAULT_ORG_VISIBILITY`: **public**: Set default visibility mode for organisations, either "public", "limited" or "private".
 | 
				
			||||||
 | 
					- `DEFAULT_ORG_MEMBER_VISIBLE`: **false** True will make the membership of the users visible when added to the organisation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Webhook (`webhook`)
 | 
					## Webhook (`webhook`)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,6 +12,7 @@ import (
 | 
				
			|||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"code.gitea.io/gitea/modules/log"
 | 
						"code.gitea.io/gitea/modules/log"
 | 
				
			||||||
 | 
						"code.gitea.io/gitea/modules/setting"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/structs"
 | 
						"code.gitea.io/gitea/modules/structs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/go-xorm/xorm"
 | 
						"github.com/go-xorm/xorm"
 | 
				
			||||||
@ -482,6 +483,7 @@ func AddOrgUser(orgID, uid int64) error {
 | 
				
			|||||||
	ou := &OrgUser{
 | 
						ou := &OrgUser{
 | 
				
			||||||
		UID:      uid,
 | 
							UID:      uid,
 | 
				
			||||||
		OrgID:    orgID,
 | 
							OrgID:    orgID,
 | 
				
			||||||
 | 
							IsPublic: setting.Service.DefaultOrgMemberVisible,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if _, err := sess.Insert(ou); err != nil {
 | 
						if _, err := sess.Insert(ou); err != nil {
 | 
				
			||||||
 | 
				
			|||||||
@ -7,6 +7,7 @@ package models
 | 
				
			|||||||
import (
 | 
					import (
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"code.gitea.io/gitea/modules/setting"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/structs"
 | 
						"code.gitea.io/gitea/modules/structs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/stretchr/testify/assert"
 | 
						"github.com/stretchr/testify/assert"
 | 
				
			||||||
@ -429,20 +430,28 @@ func TestChangeOrgUserStatus(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestAddOrgUser(t *testing.T) {
 | 
					func TestAddOrgUser(t *testing.T) {
 | 
				
			||||||
	assert.NoError(t, PrepareTestDatabase())
 | 
						assert.NoError(t, PrepareTestDatabase())
 | 
				
			||||||
	testSuccess := func(orgID, userID int64) {
 | 
						testSuccess := func(orgID, userID int64, isPublic bool) {
 | 
				
			||||||
		org := AssertExistsAndLoadBean(t, &User{ID: orgID}).(*User)
 | 
							org := AssertExistsAndLoadBean(t, &User{ID: orgID}).(*User)
 | 
				
			||||||
		expectedNumMembers := org.NumMembers
 | 
							expectedNumMembers := org.NumMembers
 | 
				
			||||||
		if !BeanExists(t, &OrgUser{OrgID: orgID, UID: userID}) {
 | 
							if !BeanExists(t, &OrgUser{OrgID: orgID, UID: userID}) {
 | 
				
			||||||
			expectedNumMembers++
 | 
								expectedNumMembers++
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		assert.NoError(t, AddOrgUser(orgID, userID))
 | 
							assert.NoError(t, AddOrgUser(orgID, userID))
 | 
				
			||||||
		AssertExistsAndLoadBean(t, &OrgUser{OrgID: orgID, UID: userID})
 | 
							ou := &OrgUser{OrgID: orgID, UID: userID}
 | 
				
			||||||
 | 
							AssertExistsAndLoadBean(t, ou)
 | 
				
			||||||
 | 
							assert.Equal(t, ou.IsPublic, isPublic)
 | 
				
			||||||
		org = AssertExistsAndLoadBean(t, &User{ID: orgID}).(*User)
 | 
							org = AssertExistsAndLoadBean(t, &User{ID: orgID}).(*User)
 | 
				
			||||||
		assert.EqualValues(t, expectedNumMembers, org.NumMembers)
 | 
							assert.EqualValues(t, expectedNumMembers, org.NumMembers)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	testSuccess(3, 5)
 | 
					
 | 
				
			||||||
	testSuccess(3, 5)
 | 
						setting.Service.DefaultOrgMemberVisible = false
 | 
				
			||||||
	testSuccess(6, 2)
 | 
						testSuccess(3, 5, false)
 | 
				
			||||||
 | 
						testSuccess(3, 5, false)
 | 
				
			||||||
 | 
						testSuccess(6, 2, false)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						setting.Service.DefaultOrgMemberVisible = true
 | 
				
			||||||
 | 
						testSuccess(6, 3, true)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	CheckConsistencyFor(t, &User{}, &Team{})
 | 
						CheckConsistencyFor(t, &User{}, &Team{})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -42,6 +42,7 @@ var Service struct {
 | 
				
			|||||||
	NoReplyAddress                          string
 | 
						NoReplyAddress                          string
 | 
				
			||||||
	EnableUserHeatmap                       bool
 | 
						EnableUserHeatmap                       bool
 | 
				
			||||||
	AutoWatchNewRepos                       bool
 | 
						AutoWatchNewRepos                       bool
 | 
				
			||||||
 | 
						DefaultOrgMemberVisible                 bool
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// OpenID settings
 | 
						// OpenID settings
 | 
				
			||||||
	EnableOpenIDSignIn bool
 | 
						EnableOpenIDSignIn bool
 | 
				
			||||||
@ -82,6 +83,7 @@ func newService() {
 | 
				
			|||||||
	Service.AutoWatchNewRepos = sec.Key("AUTO_WATCH_NEW_REPOS").MustBool(true)
 | 
						Service.AutoWatchNewRepos = sec.Key("AUTO_WATCH_NEW_REPOS").MustBool(true)
 | 
				
			||||||
	Service.DefaultOrgVisibility = sec.Key("DEFAULT_ORG_VISIBILITY").In("public", structs.ExtractKeysFromMapString(structs.VisibilityModes))
 | 
						Service.DefaultOrgVisibility = sec.Key("DEFAULT_ORG_VISIBILITY").In("public", structs.ExtractKeysFromMapString(structs.VisibilityModes))
 | 
				
			||||||
	Service.DefaultOrgVisibilityMode = structs.VisibilityModes[Service.DefaultOrgVisibility]
 | 
						Service.DefaultOrgVisibilityMode = structs.VisibilityModes[Service.DefaultOrgVisibility]
 | 
				
			||||||
 | 
						Service.DefaultOrgMemberVisible = sec.Key("DEFAULT_ORG_MEMBER_VISIBLE").MustBool()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sec = Cfg.Section("openid")
 | 
						sec = Cfg.Section("openid")
 | 
				
			||||||
	Service.EnableOpenIDSignIn = sec.Key("ENABLE_OPENID_SIGNIN").MustBool(!InstallLock)
 | 
						Service.EnableOpenIDSignIn = sec.Key("ENABLE_OPENID_SIGNIN").MustBool(!InstallLock)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user