mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-28 12:46:09 +01:00
8125fe0634
I have implemented three graph pages ([contributors](https://github.com/go-gitea/gitea/pull/27882), [code frequency](https://github.com/go-gitea/gitea/pull/29191) and [recent commits](https://github.com/go-gitea/gitea/pull/29210)) and they have all same page title as the tab name so I decided to use same translations for them. This PR is for contributors graph. Other PR's have their own respective commits. (cherry picked from commit 39a77d92d9677b0a0049cb8696960d6d2ac052d6)
45 lines
1.2 KiB
Go
45 lines
1.2 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 (
|
|
tplContributors base.TplName = "repo/activity"
|
|
)
|
|
|
|
// Contributors render the page to show repository contributors graph
|
|
func Contributors(ctx *context.Context) {
|
|
ctx.Data["Title"] = ctx.Tr("repo.activity.navbar.contributors")
|
|
|
|
ctx.Data["PageIsActivity"] = true
|
|
ctx.Data["PageIsContributors"] = true
|
|
|
|
ctx.PageData["contributionType"] = "commits"
|
|
|
|
ctx.PageData["repoLink"] = ctx.Repo.RepoLink
|
|
|
|
ctx.HTML(http.StatusOK, tplContributors)
|
|
}
|
|
|
|
// ContributorsData renders JSON of contributors along with their weekly commit statistics
|
|
func ContributorsData(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("GetContributorStats", err)
|
|
} else {
|
|
ctx.JSON(http.StatusOK, contributorStats)
|
|
}
|
|
}
|