(refs #4)Add 'Public Activity' tab to the account information page.

This commit is contained in:
takezoe
2013-07-06 20:03:34 +09:00
parent eba81a6065
commit f84078c7ca
10 changed files with 143 additions and 23 deletions

View File

@@ -0,0 +1,30 @@
package service
import model._
import Activities._
import scala.slick.driver.H2Driver.simple._
import Database.threadLocalSession
trait ActivityService {
def getActivitiesByUser(activityUserName: String, isPublic: Boolean): List[Activity] = {
val q = Query(Activities)
.innerJoin(Repositories).on((t1, t2) => t1.byRepository(t2.userName, t2.repositoryName))
(if(isPublic){
q filter { case (t1, t2) => (t1.activityUserName is activityUserName.bind) && (t2.isPrivate is false.bind) }
} else {
q filter { case (t1, t2) => t1.activityUserName is activityUserName.bind }
})
.sortBy { case (t1, t2) => t1.activityId desc }
.map { case (t1, t2) => t1 }
.list
}
def recordCreateRepository(userName: String, repositoryName: String, activityUserName: String): Unit = {
Activities.autoInc insert(userName, repositoryName, activityUserName,
"[[%s]] created [[%s/%s]]".format(activityUserName, userName, repositoryName),
currentDate)
}
}