+3
-1
appview/pages/templates/repo/index.html
+3
-1
appview/pages/templates/repo/index.html
···
66
66
{{ end }}
67
67
</optgroup>
68
68
</select>
69
-
{{ if and .ForkInfo .ForkInfo.IsFork }}
69
+
{{ $isOwner := and .LoggedInUser .RepoInfo.Roles.IsOwner }}
70
+
{{ $isCollaborator := and .LoggedInUser .RepoInfo.Roles.IsCollaborator }}
71
+
{{ if and (or $isOwner $isCollaborator) .ForkInfo .ForkInfo.IsFork }}
70
72
{{ $disabled := "" }}
71
73
{{ $title := "" }}
72
74
{{ if eq .ForkInfo.Status 0 }}
+7
-4
appview/state/repo.go
+7
-4
appview/state/repo.go
···
124
124
user := s.oauth.GetUser(r)
125
125
repoInfo := f.RepoInfo(s, user)
126
126
127
-
forkInfo, err := getForkInfo(repoInfo, s, f, w, user)
128
-
if err != nil {
129
-
log.Printf("Failed to fetch fork information: %v", err)
130
-
return
127
+
var forkInfo *types.ForkInfo
128
+
if user != nil && (repoInfo.Roles.IsOwner() || repoInfo.Roles.IsCollaborator()) {
129
+
forkInfo, err = getForkInfo(repoInfo, s, f, w, user)
130
+
if err != nil {
131
+
log.Printf("Failed to fetch fork information: %v", err)
132
+
return
133
+
}
131
134
}
132
135
133
136
s.pages.RepoIndexPage(w, pages.RepoIndexParams{