summaryrefslogtreecommitdiffstats
path: root/models/user
diff options
context:
space:
mode:
authorXinyu Zhou <i@sourcehut.net>2022-12-28 05:21:14 +0800
committerGitHub <noreply@github.com>2022-12-27 15:21:14 -0600
commit7cc7db73b922143a1288d26b39eee9e8e59f7106 (patch)
treeda812b01e5953781a820f05edee52c93efef4bec /models/user
parent22a6e9759739af05a862fb5098aec0659aed2e84 (diff)
downloadgitea-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.go9
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 {