diff --git a/src/main/scala/app/IssuesController.scala b/src/main/scala/app/IssuesController.scala index ccebc5e..fab8b75 100644 --- a/src/main/scala/app/IssuesController.scala +++ b/src/main/scala/app/IssuesController.scala @@ -282,8 +282,9 @@ val (action, recordActivity) = getAction(issue) .collect { - case "close" => true -> (Some("close") -> Some(recordCloseIssueActivity _)) - case "reopen" => false -> (Some("reopen") -> Some(recordReopenIssueActivity _)) + case "close" if(issue.isPullRequest) => true -> (Some("close") -> Some(recordClosePullRequestActivity _)) + case "close" if(!issue.isPullRequest) => true -> (Some("close") -> Some(recordCloseIssueActivity _)) + case "reopen" => false -> (Some("reopen") -> Some(recordReopenIssueActivity _)) } .map { case (closed, t) => updateClosed(owner, name, issueId, closed) @@ -299,7 +300,12 @@ } // record activity - content foreach ( recordCommentIssueActivity(owner, name, userName, issueId, _) ) + content foreach { content => + if(issue.isPullRequest) + recordCommentPullRequestActivity(owner, name, userName, issueId, content) + else + recordCommentIssueActivity(owner, name, userName, issueId, content) + } recordActivity foreach ( _ (owner, name, userName, issueId, issue.title) ) (issue, commentId) diff --git a/src/main/scala/service/ActivityService.scala b/src/main/scala/service/ActivityService.scala index 389be4a..5470ffc 100644 --- a/src/main/scala/service/ActivityService.scala +++ b/src/main/scala/service/ActivityService.scala @@ -52,6 +52,13 @@ Some(title), currentDate) + def recordClosePullRequestActivity(userName: String, repositoryName: String, activityUserName: String, issueId: Int, title: String): Unit = + Activities.autoInc insert(userName, repositoryName, activityUserName, + "close_issue", + s"[user:${activityUserName}] closed pull request [pullreq:${userName}/${repositoryName}#${issueId}]", + Some(title), + currentDate) + def recordReopenIssueActivity(userName: String, repositoryName: String, activityUserName: String, issueId: Int, title: String): Unit = Activities.autoInc insert(userName, repositoryName, activityUserName, "reopen_issue", @@ -65,7 +72,14 @@ s"[user:${activityUserName}] commented on issue [issue:${userName}/${repositoryName}#${issueId}]", Some(cut(comment, 200)), currentDate) - + + def recordCommentPullRequestActivity(userName: String, repositoryName: String, activityUserName: String, issueId: Int, comment: String): Unit = + Activities.autoInc insert(userName, repositoryName, activityUserName, + "comment_issue", + s"[user:${activityUserName}] commented on pull request [pullreq:${userName}/${repositoryName}#${issueId}]", + Some(cut(comment, 200)), + currentDate) + def recordCreateWikiPageActivity(userName: String, repositoryName: String, activityUserName: String, pageName: String) = Activities.autoInc insert(userName, repositoryName, activityUserName, "create_wiki",