| @@ -154,6 +154,22 @@ func (a *actionNotifier) NotifyRenameRepository(doer *models.User, repo *models. | |||||
| } | } | ||||
| } | } | ||||
| func (a *actionNotifier) NotifyAliasRepository(doer *models.User, repo *models.Repository, oldAlias string) { | |||||
| log.Trace("action.ChangeRepositoryAlias: %s/%s", doer.Name, repo.Alias) | |||||
| if err := models.NotifyWatchers(&models.Action{ | |||||
| ActUserID: doer.ID, | |||||
| ActUser: doer, | |||||
| OpType: models.ActionRenameRepo, | |||||
| RepoID: repo.ID, | |||||
| Repo: repo, | |||||
| IsPrivate: repo.IsPrivate, | |||||
| Content: oldAlias, | |||||
| }); err != nil { | |||||
| log.Error("NotifyWatchers: %v", err) | |||||
| } | |||||
| } | |||||
| func (a *actionNotifier) NotifyTransferRepository(doer *models.User, repo *models.Repository, oldOwnerName string) { | func (a *actionNotifier) NotifyTransferRepository(doer *models.User, repo *models.Repository, oldOwnerName string) { | ||||
| if err := models.NotifyWatchers(&models.Action{ | if err := models.NotifyWatchers(&models.Action{ | ||||
| ActUserID: doer.ID, | ActUserID: doer.ID, | ||||
| @@ -18,6 +18,7 @@ type Notifier interface { | |||||
| NotifyDeleteRepository(doer *models.User, repo *models.Repository) | NotifyDeleteRepository(doer *models.User, repo *models.Repository) | ||||
| NotifyForkRepository(doer *models.User, oldRepo, repo *models.Repository) | NotifyForkRepository(doer *models.User, oldRepo, repo *models.Repository) | ||||
| NotifyRenameRepository(doer *models.User, repo *models.Repository, oldRepoName string) | NotifyRenameRepository(doer *models.User, repo *models.Repository, oldRepoName string) | ||||
| NotifyAliasRepository(doer *models.User, repo *models.Repository, oldAlias string) | |||||
| NotifyTransferRepository(doer *models.User, repo *models.Repository, oldOwnerName string) | NotifyTransferRepository(doer *models.User, repo *models.Repository, oldOwnerName string) | ||||
| NotifyNewIssue(*models.Issue) | NotifyNewIssue(*models.Issue) | ||||
| @@ -135,6 +135,10 @@ func (*NullNotifier) NotifyDeleteRef(doer *models.User, repo *models.Repository, | |||||
| func (*NullNotifier) NotifyRenameRepository(doer *models.User, repo *models.Repository, oldRepoName string) { | func (*NullNotifier) NotifyRenameRepository(doer *models.User, repo *models.Repository, oldRepoName string) { | ||||
| } | } | ||||
| func (a *NullNotifier) NotifyAliasRepository(doer *models.User, repo *models.Repository, oldAlias string) { | |||||
| } | |||||
| // NotifyTransferRepository places a place holder function | // NotifyTransferRepository places a place holder function | ||||
| func (*NullNotifier) NotifyTransferRepository(doer *models.User, repo *models.Repository, oldOwnerName string) { | func (*NullNotifier) NotifyTransferRepository(doer *models.User, repo *models.Repository, oldOwnerName string) { | ||||
| } | } | ||||
| @@ -6,6 +6,7 @@ | |||||
| package repo | package repo | ||||
| import ( | import ( | ||||
| "code.gitea.io/gitea/modules/notification" | |||||
| "errors" | "errors" | ||||
| "fmt" | "fmt" | ||||
| "io/ioutil" | "io/ioutil" | ||||
| @@ -71,8 +72,10 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { | |||||
| } | } | ||||
| newAlias := form.Alias | newAlias := form.Alias | ||||
| var aliasChanged = false | |||||
| // Check if repository alias has been changed. | // Check if repository alias has been changed. | ||||
| if strings.ToLower(repo.Alias) != strings.ToLower(newAlias) { | if strings.ToLower(repo.Alias) != strings.ToLower(newAlias) { | ||||
| aliasChanged = true | |||||
| //check new alias is available or not | //check new alias is available or not | ||||
| if err := models.IsRepositoryAliasAvailable(ctx.Repo.Owner, newAlias); err != nil { | if err := models.IsRepositoryAliasAvailable(ctx.Repo.Owner, newAlias); err != nil { | ||||
| ctx.Data["Err_Alias"] = true | ctx.Data["Err_Alias"] = true | ||||
| @@ -117,6 +120,10 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { | |||||
| log.Trace("Repository name changed: %s/%s -> %s", ctx.Repo.Owner.Name, repo.Name, newRepoName) | log.Trace("Repository name changed: %s/%s -> %s", ctx.Repo.Owner.Name, repo.Name, newRepoName) | ||||
| } | } | ||||
| //notify | |||||
| if aliasChanged { | |||||
| notification.NotifyRenameRepository(ctx.Repo.Owner, repo, repo.Alias) | |||||
| } | |||||
| // In case it's just a case change. | // In case it's just a case change. | ||||
| repo.Name = newRepoName | repo.Name = newRepoName | ||||
| @@ -55,7 +55,7 @@ func TransferOwnership(doer, newOwner *models.User, repo *models.Repository, tea | |||||
| // ChangeRepositoryName changes all corresponding setting from old repository name to new one. | // ChangeRepositoryName changes all corresponding setting from old repository name to new one. | ||||
| func ChangeRepositoryName(doer *models.User, repo *models.Repository, newRepoName string) error { | func ChangeRepositoryName(doer *models.User, repo *models.Repository, newRepoName string) error { | ||||
| oldRepoName := repo.Name | |||||
| //oldRepoName := repo.Name | |||||
| // Change repository directory name. We must lock the local copy of the | // Change repository directory name. We must lock the local copy of the | ||||
| // repo so that we can atomically rename the repo path and updates the | // repo so that we can atomically rename the repo path and updates the | ||||
| @@ -68,7 +68,7 @@ func ChangeRepositoryName(doer *models.User, repo *models.Repository, newRepoNam | |||||
| } | } | ||||
| repoWorkingPool.CheckOut(com.ToStr(repo.ID)) | repoWorkingPool.CheckOut(com.ToStr(repo.ID)) | ||||
| notification.NotifyRenameRepository(doer, repo, oldRepoName) | |||||
| //notification.NotifyRenameRepository(doer, repo, oldRepoName) | |||||
| return nil | return nil | ||||
| } | } | ||||