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:
Lunny Xiao 2017-04-29 13:52:25 +08:00 committed by GitHub
parent 61b08b5c01
commit e31c02d4bf
4 changed files with 52 additions and 10 deletions

View 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)
}

View 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

View file

@ -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

View file

@ -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>