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
tokarchuk/v1.17
Lunny Xiao 8 years ago committed by GitHub
parent 61b08b5c01
commit e31c02d4bf
  1. 21
      integrations/issue_test.go
  2. 15
      models/fixtures/repo_unit.yml
  3. 24
      routers/repo/issue.go
  4. 2
      templates/repo/issue/view_content/sidebar.tmpl

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

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

Loading…
Cancel
Save