forked from tangled.org/core
this repo has no description

appview: repo/index: show fork button only to repo owners

also do GetForkInfo only if repo-owner

Changed files
+11 -7
appview
pages
templates
repo
state
+1 -1
appview/pages/pages.go
···
CommitsTrunc []*object.Commit
TagsTrunc []*types.TagReference
BranchesTrunc []types.Branch
-
ForkInfo types.ForkInfo
+
ForkInfo *types.ForkInfo
types.RepoIndexResponse
HTMLReadme template.HTML
Raw bool
+2 -1
appview/pages/templates/repo/index.html
···
{{ end }}
</optgroup>
</select>
-
{{ if .ForkInfo.IsFork }}
+
{{ $isOwner := and .LoggedInUser (eq .LoggedInUser.Did .RepoInfo.OwnerDid) }}
+
{{ if and $isOwner .ForkInfo }}
{{ $disabled := "" }}
{{ $title := "" }}
{{ if eq .ForkInfo.Status 0 }}
+8 -5
appview/state/repo.go
···
user := s.oauth.GetUser(r)
repoInfo := f.RepoInfo(s, user)
-
forkInfo, err := getForkInfo(repoInfo, s, f, w, user)
-
if err != nil {
-
log.Printf("Failed to fetch fork information: %v", err)
-
return
+
var forkInfo *types.ForkInfo
+
if user != nil && user.Did == repoInfo.OwnerDid {
+
forkInfo, err = getForkInfo(repoInfo, s, f, w, user)
+
if err != nil {
+
log.Printf("Failed to fetch fork information: %v", err)
+
return
+
}
}
s.pages.RepoIndexPage(w, pages.RepoIndexParams{
···
RepoIndexResponse: result,
CommitsTrunc: commitsTrunc,
TagsTrunc: tagsTrunc,
-
ForkInfo: *forkInfo,
+
ForkInfo: forkInfo,
BranchesTrunc: branchesTrunc,
EmailToDidOrHandle: EmailToDidOrHandle(s, emails),
})