Skip to content

Commit fc55182

Browse files
authored
Merge pull request #41 from DblK/feature-issueTrackerLink
Allow user to set an external tracker url and forward to it
2 parents 4a5faec + 8dc49dc commit fc55182

File tree

7 files changed

+18
-3
lines changed

7 files changed

+18
-3
lines changed

conf/locale/locale_en-US.ini

+2
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,8 @@ settings.external_wiki_url_desc = Visitors will be redirected to URL when they c
648648
settings.issues_desc = Enable issue tracker
649649
settings.use_internal_issue_tracker = Use builtin lightweight issue tracker
650650
settings.use_external_issue_tracker = Use external issue tracker
651+
settings.external_tracker_url = External Issue Tracker URL
652+
settings.external_tracker_url_desc = Visitors will be redirected to URL when they click on the tab.
651653
settings.tracker_url_format = External Issue Tracker URL Format
652654
settings.tracker_issue_style = External Issue Tracker Naming Style:
653655
settings.tracker_issue_style.numeric = Numeric

models/repo.go

+1
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ type Repository struct {
186186
ExternalWikiURL string
187187
EnableIssues bool `xorm:"NOT NULL DEFAULT true"`
188188
EnableExternalTracker bool
189+
ExternalTrackerURL string
189190
ExternalTrackerFormat string
190191
ExternalTrackerStyle string
191192
ExternalMetas map[string]string `xorm:"-"`

modules/auth/repo_form.go

+1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ type RepoSettingForm struct {
9696
ExternalWikiURL string
9797
EnableIssues bool
9898
EnableExternalTracker bool
99+
ExternalTrackerURL string
99100
TrackerURLFormat string
100101
TrackerIssueStyle string
101102
EnablePulls bool

routers/repo/issue.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,15 @@ var (
5252
)
5353

5454
func MustEnableIssues(ctx *context.Context) {
55-
if !ctx.Repo.Repository.EnableIssues || ctx.Repo.Repository.EnableExternalTracker {
55+
if !ctx.Repo.Repository.EnableIssues {
5656
ctx.Handle(404, "MustEnableIssues", nil)
5757
return
5858
}
59+
60+
if ctx.Repo.Repository.EnableExternalTracker {
61+
ctx.Redirect(ctx.Repo.Repository.ExternalTrackerURL)
62+
return
63+
}
5964
}
6065

6166
func MustAllowPulls(ctx *context.Context) {

routers/repo/setting.go

+1
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
146146
repo.ExternalWikiURL = form.ExternalWikiURL
147147
repo.EnableIssues = form.EnableIssues
148148
repo.EnableExternalTracker = form.EnableExternalTracker
149+
repo.ExternalTrackerURL = form.ExternalTrackerURL
149150
repo.ExternalTrackerFormat = form.TrackerURLFormat
150151
repo.ExternalTrackerStyle = form.TrackerIssueStyle
151152
repo.EnablePulls = form.EnablePulls

templates/repo/header.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@
5252
<a class="{{if .PageIsViewCode}}active{{end}} item" href="{{.RepoLink}}">
5353
<i class="octicon octicon-code"></i> {{.i18n.Tr "repo.code"}}
5454
</a>
55-
{{if and .Repository.EnableIssues (not .Repository.EnableExternalTracker)}}
55+
{{if .Repository.EnableIssues}}
5656
<a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues">
57-
<i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues"}} <span class="ui {{if not .Repository.NumOpenIssues}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenIssues}}</span>
57+
<i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues"}} {{if not .Repository.EnableExternalTracker}}<span class="ui {{if not .Repository.NumOpenIssues}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenIssues}}{{end}}</span>
5858
</a>
5959
{{end}}
6060
{{if .Repository.AllowsPulls}}

templates/repo/settings/options.tmpl

+5
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@
161161
</div>
162162
</div>
163163
<div class="field {{if not .Repository.EnableExternalTracker}}disabled{{end}}" id="external_issue_box">
164+
<div class="field">
165+
<label for="external_tracker_url">{{.i18n.Tr "repo.settings.external_tracker_url"}}</label>
166+
<input id="external_tracker_url" name="external_tracker_url" type="url" value="{{.Repository.ExternalTrackerURL}}">
167+
<p class="help">{{.i18n.Tr "repo.settings.external_tracker_url_desc"}}</p>
168+
</div>
164169
<div class="field">
165170
<label for="tracker_url_format">{{.i18n.Tr "repo.settings.tracker_url_format"}}</label>
166171
<input id="tracker_url_format" name="tracker_url_format" type="url" value="{{.Repository.ExternalTrackerFormat}}" placeholder="e.g. https://github.com/{user}/{repo}/issues/{index}">

0 commit comments

Comments
 (0)