mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	fix #622
This commit is contained in:
		@@ -14,7 +14,7 @@ watch_dirs = [
 | 
			
		||||
watch_exts = [".go", ".ini"]
 | 
			
		||||
build_delay = 1500
 | 
			
		||||
cmds = [
 | 
			
		||||
	["go", "install", "-tags", "sqlite redis cert"],
 | 
			
		||||
	["go", "build", "-tags", "sqlite redis cert"],
 | 
			
		||||
	["go", "install", "-tags", "sqlite cert"],# redis memcache
 | 
			
		||||
	["go", "build", "-tags", "sqlite cert"],
 | 
			
		||||
	["./gogs", "web"]
 | 
			
		||||
]
 | 
			
		||||
@@ -13,7 +13,6 @@ github.com/codegangsta/cli = commit:7381bc4e62
 | 
			
		||||
github.com/go-sql-driver/mysql = commit:8111ee3ec3
 | 
			
		||||
github.com/go-xorm/core = 
 | 
			
		||||
github.com/go-xorm/xorm = 
 | 
			
		||||
github.com/gogits/gfm = commit:40f747a9c0
 | 
			
		||||
github.com/gogits/oauth2 = commit:99cbec870a
 | 
			
		||||
github.com/lib/pq = commit:b021d0ef20
 | 
			
		||||
github.com/macaron-contrib/binding = 
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								cmd/serve.go
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								cmd/serve.go
									
									
									
									
									
								
							@@ -96,7 +96,7 @@ func runServ(k *cli.Context) {
 | 
			
		||||
			println("Gogs: you are not the owner of SSH key")
 | 
			
		||||
			log.GitLogger.Fatal(2, "Invalid owner of SSH key: %d", keyId)
 | 
			
		||||
		}
 | 
			
		||||
		println("Gogs: internal error:", err)
 | 
			
		||||
		println("Gogs: internal error:", err.Error())
 | 
			
		||||
		log.GitLogger.Fatal(2, "Fail to get user by key ID(%d): %v", keyId, err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -125,7 +125,7 @@ func runServ(k *cli.Context) {
 | 
			
		||||
			println("Gogs: given repository owner are not registered")
 | 
			
		||||
			log.GitLogger.Fatal(2, "Unregistered owner: %s", repoUserName)
 | 
			
		||||
		}
 | 
			
		||||
		println("Gogs: internal error:", err)
 | 
			
		||||
		println("Gogs: internal error:", err.Error())
 | 
			
		||||
		log.GitLogger.Fatal(2, "Fail to get repository owner(%s): %v", repoUserName, err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -134,7 +134,7 @@ func runServ(k *cli.Context) {
 | 
			
		||||
	case isWrite:
 | 
			
		||||
		has, err := models.HasAccess(user.Name, path.Join(repoUserName, repoName), models.WRITABLE)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			println("Gogs: internal error:", err)
 | 
			
		||||
			println("Gogs: internal error:", err.Error())
 | 
			
		||||
			log.GitLogger.Fatal(2, "Fail to check write access:", err)
 | 
			
		||||
		} else if !has {
 | 
			
		||||
			println("You have no right to write this repository")
 | 
			
		||||
@@ -147,7 +147,7 @@ func runServ(k *cli.Context) {
 | 
			
		||||
				println("Gogs: given repository does not exist")
 | 
			
		||||
				log.GitLogger.Fatal(2, "Repository does not exist: %s/%s", repoUser.Name, repoName)
 | 
			
		||||
			}
 | 
			
		||||
			println("Gogs: internal error:", err)
 | 
			
		||||
			println("Gogs: internal error:", err.Error())
 | 
			
		||||
			log.GitLogger.Fatal(2, "Fail to get repository: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@@ -157,7 +157,7 @@ func runServ(k *cli.Context) {
 | 
			
		||||
 | 
			
		||||
		has, err := models.HasAccess(user.Name, path.Join(repoUserName, repoName), models.READABLE)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			println("Gogs: internal error:", err)
 | 
			
		||||
			println("Gogs: internal error:", err.Error())
 | 
			
		||||
			log.GitLogger.Fatal(2, "Fail to check read access:", err)
 | 
			
		||||
		} else if !has {
 | 
			
		||||
			println("You have no right to access this repository")
 | 
			
		||||
 
 | 
			
		||||
@@ -164,6 +164,7 @@ unable_verify_ssh_key = Gogs cannot verify your SSH key, but we assume that is v
 | 
			
		||||
auth_failed = Authentication failed: %v
 | 
			
		||||
 | 
			
		||||
still_own_repo = Your account still have ownership of repository, you have to delete or transfer them first.
 | 
			
		||||
still_has_org = Your account still have membership of organization, you have to left or delete them first.
 | 
			
		||||
org_still_own_repo = This organization still have ownership of repository, you have to delete or transfer them first.
 | 
			
		||||
 | 
			
		||||
still_own_user = This authentication still has used by some users, you should move them and then delete again.
 | 
			
		||||
@@ -510,6 +511,7 @@ users.is_admin = This account has administrator permissions
 | 
			
		||||
users.update_profile = Update Account Profile
 | 
			
		||||
users.delete_account = Delete This Account
 | 
			
		||||
users.still_own_repo = This account still have ownership of repository, you have to delete or transfer them first.
 | 
			
		||||
users.still_has_org = This account still have membership of organization, you have to left or delete them first.
 | 
			
		||||
 | 
			
		||||
orgs.org_manage_panel = Organization Manage Panel
 | 
			
		||||
orgs.name = Name
 | 
			
		||||
 
 | 
			
		||||
@@ -376,7 +376,7 @@ func UpdateUser(u *User) error {
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TODO: need some kind of mechanism to record failure.
 | 
			
		||||
// FIXME: need some kind of mechanism to record failure. HINT: system notice
 | 
			
		||||
// DeleteUser completely and permanently deletes everything of user.
 | 
			
		||||
func DeleteUser(u *User) error {
 | 
			
		||||
	// Check ownership of repository.
 | 
			
		||||
@@ -390,13 +390,13 @@ func DeleteUser(u *User) error {
 | 
			
		||||
	// Check membership of organization.
 | 
			
		||||
	count, err = u.GetOrganizationCount()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return errors.New("modesl.GetRepositories(GetOrganizationCount): " + err.Error())
 | 
			
		||||
		return errors.New("GetOrganizationCount: " + err.Error())
 | 
			
		||||
	} else if count > 0 {
 | 
			
		||||
		return ErrUserHasOrgs
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// TODO: check issues, other repos' commits
 | 
			
		||||
	// TODO: roll backable in some point.
 | 
			
		||||
	// FIXME: check issues, other repos' commits
 | 
			
		||||
	// FIXME: roll backable in some point.
 | 
			
		||||
 | 
			
		||||
	// Delete all followers.
 | 
			
		||||
	if _, err = x.Delete(&Follow{FollowId: u.Id}); err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -220,6 +220,9 @@ func DeleteUser(ctx *middleware.Context) {
 | 
			
		||||
		case models.ErrUserOwnRepos:
 | 
			
		||||
			ctx.Flash.Error(ctx.Tr("admin.users.still_own_repo"))
 | 
			
		||||
			ctx.Redirect(setting.AppSubUrl + "/admin/users/" + ctx.Params(":userid"))
 | 
			
		||||
		case models.ErrUserHasOrgs:
 | 
			
		||||
			ctx.Flash.Error(ctx.Tr("admin.users.still_has_org"))
 | 
			
		||||
			ctx.Redirect(setting.AppSubUrl + "/admin/users/" + ctx.Params(":userid"))
 | 
			
		||||
		default:
 | 
			
		||||
			ctx.Handle(500, "DeleteUser", err)
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -311,6 +311,9 @@ func SettingsDelete(ctx *middleware.Context) {
 | 
			
		||||
			case models.ErrUserOwnRepos:
 | 
			
		||||
				ctx.Flash.Error(ctx.Tr("form.still_own_repo"))
 | 
			
		||||
				ctx.Redirect(setting.AppSubUrl + "/user/settings/delete")
 | 
			
		||||
			case models.ErrUserHasOrgs:
 | 
			
		||||
				ctx.Flash.Error(ctx.Tr("form.still_has_org"))
 | 
			
		||||
				ctx.Redirect(setting.AppSubUrl + "/user/settings/delete")
 | 
			
		||||
			default:
 | 
			
		||||
				ctx.Handle(500, "DeleteUser", err)
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user