forked from Shiloh/githaven
d3982bcd81
This is the implementation of Recent Commits page. This feature was mentioned on #18262. It adds another tab to Activity page called Recent Commits. Recent Commits tab shows number of commits since last year for the repository.
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package repo
|
|
|
|
import (
|
|
"errors"
|
|
"net/http"
|
|
|
|
"code.gitea.io/gitea/modules/base"
|
|
"code.gitea.io/gitea/modules/context"
|
|
contributors_service "code.gitea.io/gitea/services/repository"
|
|
)
|
|
|
|
const (
|
|
tplRecentCommits base.TplName = "repo/activity"
|
|
)
|
|
|
|
// RecentCommits renders the page to show recent commit frequency on repository
|
|
func RecentCommits(ctx *context.Context) {
|
|
ctx.Data["Title"] = ctx.Tr("repo.activity.navbar.recent_commits")
|
|
|
|
ctx.Data["PageIsActivity"] = true
|
|
ctx.Data["PageIsRecentCommits"] = true
|
|
ctx.PageData["repoLink"] = ctx.Repo.RepoLink
|
|
|
|
ctx.HTML(http.StatusOK, tplRecentCommits)
|
|
}
|
|
|
|
// RecentCommitsData returns JSON of recent commits data
|
|
func RecentCommitsData(ctx *context.Context) {
|
|
if contributorStats, err := contributors_service.GetContributorStats(ctx, ctx.Cache, ctx.Repo.Repository, ctx.Repo.CommitID); err != nil {
|
|
if errors.Is(err, contributors_service.ErrAwaitGeneration) {
|
|
ctx.Status(http.StatusAccepted)
|
|
return
|
|
}
|
|
ctx.ServerError("RecentCommitsData", err)
|
|
} else {
|
|
ctx.JSON(http.StatusOK, contributorStats["total"].Weeks)
|
|
}
|
|
}
|