@@ -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 | ||||
} | } |