mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-20 00:01:05 +00:00
428008ac19
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. (cherry picked from commit d3982bcd814bac93e3cbce1c7eb749b17e413fbd)
41 lines
1.1 KiB
Go
41 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)
|
|
}
|
|
}
|