fix bug on issue view when not login (#1624)
* fix bug on issue view when not login * hide issue watch when not login * update the tests * fix test on issue
This commit is contained in:
parent
61b08b5c01
commit
e31c02d4bf
4 changed files with 52 additions and 10 deletions
21
integrations/issue_test.go
Normal file
21
integrations/issue_test.go
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a MIT-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package integrations
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestNoLoginViewIssue(t *testing.T) {
|
||||||
|
prepareTestEnv(t)
|
||||||
|
|
||||||
|
req, err := http.NewRequest("GET", "/user2/repo1/issues/1", nil)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
resp := MakeRequest(req)
|
||||||
|
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
|
||||||
|
}
|
15
models/fixtures/repo_unit.yml
Normal file
15
models/fixtures/repo_unit.yml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
-
|
||||||
|
id: 1
|
||||||
|
repo_id: 1
|
||||||
|
type: 1
|
||||||
|
index: 0
|
||||||
|
config: "{}"
|
||||||
|
created_unix: 946684810
|
||||||
|
|
||||||
|
-
|
||||||
|
id: 2
|
||||||
|
repo_id: 1
|
||||||
|
type: 2
|
||||||
|
index: 0
|
||||||
|
config: "{}"
|
||||||
|
created_unix: 946684810
|
|
@ -465,16 +465,20 @@ func ViewIssue(ctx *context.Context) {
|
||||||
}
|
}
|
||||||
ctx.Data["Title"] = fmt.Sprintf("#%d - %s", issue.Index, issue.Title)
|
ctx.Data["Title"] = fmt.Sprintf("#%d - %s", issue.Index, issue.Title)
|
||||||
|
|
||||||
iw, exists, err := models.GetIssueWatch(ctx.User.ID, issue.ID)
|
var iw *models.IssueWatch
|
||||||
if err != nil {
|
var exists bool
|
||||||
ctx.Handle(500, "GetIssueWatch", err)
|
if ctx.User != nil {
|
||||||
return
|
iw, exists, err = models.GetIssueWatch(ctx.User.ID, issue.ID)
|
||||||
}
|
if err != nil {
|
||||||
if !exists {
|
ctx.Handle(500, "GetIssueWatch", err)
|
||||||
iw = &models.IssueWatch{
|
return
|
||||||
UserID: ctx.User.ID,
|
}
|
||||||
IssueID: issue.ID,
|
if !exists {
|
||||||
IsWatching: models.IsWatching(ctx.User.ID, ctx.Repo.Repository.ID),
|
iw = &models.IssueWatch{
|
||||||
|
UserID: ctx.User.ID,
|
||||||
|
IssueID: issue.ID,
|
||||||
|
IsWatching: models.IsWatching(ctx.User.ID, ctx.Repo.Repository.ID),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ctx.Data["IssueWatch"] = iw
|
ctx.Data["IssueWatch"] = iw
|
||||||
|
|
|
@ -99,6 +99,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{if $.IssueWatch}}
|
||||||
<div class="ui divider"></div>
|
<div class="ui divider"></div>
|
||||||
|
|
||||||
<div class="ui watching">
|
<div class="ui watching">
|
||||||
|
@ -119,5 +120,6 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Reference in a new issue