From ebcc5ab4b1f6572a1bd06f07b3990365e18c36ef Mon Sep 17 00:00:00 2001 From: takezoe Date: Wed, 15 Jan 2014 04:35:38 +0900 Subject: [PATCH] (refs #101)Update links in activity message also. --- src/main/scala/service/RepositoryService.scala | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/scala/service/RepositoryService.scala b/src/main/scala/service/RepositoryService.scala index 7bef53903..f8ec55b63 100644 --- a/src/main/scala/service/RepositoryService.scala +++ b/src/main/scala/service/RepositoryService.scala @@ -81,6 +81,22 @@ trait RepositoryService { self: AccountService => CommitLog .insertAll(commitLog .map(_.copy(_2 = 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}#") + ) + } } }