(refs #101)Update links in activity message also.

This commit is contained in:
takezoe
2014-01-15 04:35:38 +09:00
parent 10e16e8379
commit ebcc5ab4b1

View File

@@ -81,6 +81,22 @@ trait RepositoryService { self: AccountService =>
CommitLog .insertAll(commitLog .map(_.copy(_2 = newRepositoryName)) :_*) CommitLog .insertAll(commitLog .map(_.copy(_2 = newRepositoryName)) :_*)
Activities .insertAll(activities .map(_.copy(repositoryName = newRepositoryName)) :_*) Activities .insertAll(activities .map(_.copy(repositoryName = newRepositoryName)) :_*)
// Update activity messages
val updateActivities = Activities.filter { t =>
(t.message like s"%:${userName}/${oldRepositoryName}]%") ||
(t.message like s"%:${userName}/${oldRepositoryName}#%")
}.map { t => t.activityId ~ t.message }.list
updateActivities.foreach { case (activityId, message) =>
Activities.filter(_.activityId is activityId.bind).map(_.message).update(
message
.replace(s"[repo:${userName}/${oldRepositoryName}]" ,s"[repo:${userName}/${newRepositoryName}]")
.replace(s"[branch:${userName}/${oldRepositoryName}#" ,s"[branch:${userName}/${newRepositoryName}#")
.replace(s"[tag:${userName}/${oldRepositoryName}#" ,s"[tag:${userName}/${newRepositoryName}#")
.replace(s"[pullreq:${userName}/${oldRepositoryName}#",s"[pullreq:${userName}/${newRepositoryName}#")
.replace(s"[issue:${userName}/${oldRepositoryName}#" ,s"[issue:${userName}/${newRepositoryName}#")
)
}
} }
} }