mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	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:
		
							
								
								
									
										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 New Issue
	
	Block a user