mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-07 22:15:51 +01:00
Merge branch '401-news-feed-of-private-repo' of https://github.com/utensil/gitbucket into utensil-401-news-feed-of-private-repo
Conflicts: src/main/scala/app/IndexController.scala src/main/scala/service/ActivityService.scala
This commit is contained in:
@@ -20,11 +20,23 @@ trait IndexControllerBase extends ControllerBase {
|
|||||||
|
|
||||||
get("/"){
|
get("/"){
|
||||||
val loginAccount = context.loginAccount
|
val loginAccount = context.loginAccount
|
||||||
|
if(loginAccount.isEmpty) {
|
||||||
|
html.index(getRecentActivities(),
|
||||||
|
getVisibleRepositories(loginAccount, context.baseUrl, withoutPhysicalInfo = true),
|
||||||
|
loginAccount.map{ account => getUserRepositories(account.userName, context.baseUrl, withoutPhysicalInfo = true) }.getOrElse(Nil)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
val loginUserName = loginAccount.get.userName
|
||||||
|
val loginUserGroups = getGroupsByUserName(loginUserName)
|
||||||
|
var visibleOwnerSet : Set[String] = Set(loginUserName)
|
||||||
|
|
||||||
html.index(getRecentActivities(),
|
visibleOwnerSet ++= loginUserGroups
|
||||||
getVisibleRepositories(loginAccount, context.baseUrl, withoutPhysicalInfo = true),
|
|
||||||
loginAccount.map{ account => getUserRepositories(account.userName, context.baseUrl, withoutPhysicalInfo = true) }.getOrElse(Nil)
|
html.index(getRecentActivitiesByOwners(visibleOwnerSet),
|
||||||
)
|
getVisibleRepositories(loginAccount, context.baseUrl, withoutPhysicalInfo = true),
|
||||||
|
loginAccount.map{ account => getUserRepositories(account.userName, context.baseUrl, withoutPhysicalInfo = true) }.getOrElse(Nil)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get("/signin"){
|
get("/signin"){
|
||||||
|
|||||||
@@ -23,7 +23,16 @@ trait ActivityService {
|
|||||||
def getRecentActivities()(implicit s: Session): List[Activity] =
|
def getRecentActivities()(implicit s: Session): List[Activity] =
|
||||||
Activities
|
Activities
|
||||||
.innerJoin(Repositories).on((t1, t2) => t1.byRepository(t2.userName, t2.repositoryName))
|
.innerJoin(Repositories).on((t1, t2) => t1.byRepository(t2.userName, t2.repositoryName))
|
||||||
.filter { case (t1, t2) => t2.isPrivate is false.bind }
|
.filter { case (t1, t2) => t2.isPrivate is false.bind }
|
||||||
|
.sortBy { case (t1, t2) => t1.activityId desc }
|
||||||
|
.map { case (t1, t2) => t1 }
|
||||||
|
.take(30)
|
||||||
|
.list
|
||||||
|
|
||||||
|
def getRecentActivitiesByOwners(owners : Set[String])(implicit s: Session): List[Activity] =
|
||||||
|
Activities
|
||||||
|
.innerJoin(Repositories).on((t1, t2) => t1.byRepository(t2.userName, t2.repositoryName))
|
||||||
|
.filter { case (t1, t2) => (t2.isPrivate is false.bind) || (t2.userName inSetBind owners) }
|
||||||
.sortBy { case (t1, t2) => t1.activityId desc }
|
.sortBy { case (t1, t2) => t1.activityId desc }
|
||||||
.map { case (t1, t2) => t1 }
|
.map { case (t1, t2) => t1 }
|
||||||
.take(30)
|
.take(30)
|
||||||
|
|||||||
Reference in New Issue
Block a user