Add top author stats to activity page (#9615)

This commit is contained in:
Lauris BH 2020-01-20 12:07:30 +02:00 committed by GitHub
parent 7d7ab1eeae
commit 81cfe243f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 524 additions and 906 deletions

View file

@ -19,6 +19,7 @@ type ActivityAuthorData struct {
Name string `json:"name"`
Login string `json:"login"`
AvatarLink string `json:"avatar_link"`
HomeLink string `json:"home_link"`
Commits int64 `json:"commits"`
}
@ -91,12 +92,20 @@ func GetActivityStatsTopAuthors(repo *Repository, timeFrom time.Time, count int)
return nil, nil
}
users := make(map[int64]*ActivityAuthorData)
for k, v := range code.Authors {
if len(k) == 0 {
var unknownUserID int64
unknownUserAvatarLink := NewGhostUser().AvatarLink()
for _, v := range code.Authors {
if len(v.Email) == 0 {
continue
}
u, err := GetUserByEmail(k)
u, err := GetUserByEmail(v.Email)
if u == nil || IsErrUserNotExist(err) {
unknownUserID--
users[unknownUserID] = &ActivityAuthorData{
Name: v.Name,
AvatarLink: unknownUserAvatarLink,
Commits: v.Commits,
}
continue
}
if err != nil {
@ -107,10 +116,11 @@ func GetActivityStatsTopAuthors(repo *Repository, timeFrom time.Time, count int)
Name: u.DisplayName(),
Login: u.LowerName,
AvatarLink: u.AvatarLink(),
Commits: v,
HomeLink: u.HomeLink(),
Commits: v.Commits,
}
} else {
user.Commits += v
user.Commits += v.Commits
}
}
v := make([]*ActivityAuthorData, 0)
@ -119,7 +129,7 @@ func GetActivityStatsTopAuthors(repo *Repository, timeFrom time.Time, count int)
}
sort.Slice(v, func(i, j int) bool {
return v[i].Commits < v[j].Commits
return v[i].Commits > v[j].Commits
})
cnt := count