diff options
author | Xinyu Zhou <i@sourcehut.net> | 2022-12-28 05:21:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-27 15:21:14 -0600 |
commit | 7cc7db73b922143a1288d26b39eee9e8e59f7106 (patch) | |
tree | da812b01e5953781a820f05edee52c93efef4bec /models/user | |
parent | 22a6e9759739af05a862fb5098aec0659aed2e84 (diff) | |
download | gitea-7cc7db73b922143a1288d26b39eee9e8e59f7106.tar.gz gitea-7cc7db73b922143a1288d26b39eee9e8e59f7106.zip |
Add option to prohibit fork if user reached maximum limit of repositories (#21848)
If user has reached the maximum limit of repositories:
- Before
- disallow create
- allow fork without limit
- This patch:
- disallow create
- disallow fork
- Add option `ALLOW_FORK_WITHOUT_MAXIMUM_LIMIT` (Default **true**) :
enable this allow user fork repositories without maximum number limit
fixed https://github.com/go-gitea/gitea/issues/21847
Signed-off-by: Xinyu Zhou <i@sourcehut.net>
Diffstat (limited to 'models/user')
-rw-r--r-- | models/user/user.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/models/user/user.go b/models/user/user.go index 71b036b06f..825223201b 100644 --- a/models/user/user.go +++ b/models/user/user.go @@ -275,6 +275,15 @@ func (u *User) CanEditGitHook() bool { return !setting.DisableGitHooks && (u.IsAdmin || u.AllowGitHook) } +// CanForkRepo returns if user login can fork a repository +// It checks especially that the user can create repos, and potentially more +func (u *User) CanForkRepo() bool { + if setting.Repository.AllowForkWithoutMaximumLimit { + return true + } + return u.CanCreateRepo() +} + // CanImportLocal returns true if user can migrate repository by local path. func (u *User) CanImportLocal() bool { if !setting.ImportLocalPaths || u == nil { |