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)
|
||||
|
||||
iw, exists, err := models.GetIssueWatch(ctx.User.ID, issue.ID)
|
||||
if err != nil {
|
||||
ctx.Handle(500, "GetIssueWatch", err)
|
||||
return
|
||||
}
|
||||
if !exists {
|
||||
iw = &models.IssueWatch{
|
||||
UserID: ctx.User.ID,
|
||||
IssueID: issue.ID,
|
||||
IsWatching: models.IsWatching(ctx.User.ID, ctx.Repo.Repository.ID),
|
||||
var iw *models.IssueWatch
|
||||
var exists bool
|
||||
if ctx.User != nil {
|
||||
iw, exists, err = models.GetIssueWatch(ctx.User.ID, issue.ID)
|
||||
if err != nil {
|
||||
ctx.Handle(500, "GetIssueWatch", err)
|
||||
return
|
||||
}
|
||||
if !exists {
|
||||
iw = &models.IssueWatch{
|
||||
UserID: ctx.User.ID,
|
||||
IssueID: issue.ID,
|
||||
IsWatching: models.IsWatching(ctx.User.ID, ctx.Repo.Repository.ID),
|
||||
}
|
||||
}
|
||||
}
|
||||
ctx.Data["IssueWatch"] = iw
|
||||
|
|
|
@ -99,6 +99,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{{if $.IssueWatch}}
|
||||
<div class="ui divider"></div>
|
||||
|
||||
<div class="ui watching">
|
||||
|
@ -119,5 +120,6 @@
|
|||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
Reference in a new issue