mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-16 12:05:30 +09:00
UI: basci issue list without filters
- fix isRead check - fix paging
This commit is contained in:
1 parent
4447a20f87
commit
86dbda0b42
16 files changed
+95
-164
No files matched your search
+13
-9
@@ -416,14 +416,18 @@ func runWeb(ctx *cli.Context) {
|
||||
m.Post("/:index/milestone", repo.UpdateIssueMilestone)
|
||||
m.Post("/:index/assignee", repo.UpdateAssignee)
|
||||
m.Get("/:index/attachment/:id", repo.IssueGetAttachment)
|
||||
m.Post("/labels/new", bindIgnErr(auth.CreateLabelForm{}), repo.NewLabel)
|
||||
m.Post("/labels/edit", bindIgnErr(auth.CreateLabelForm{}), repo.UpdateLabel)
|
||||
m.Post("/labels/delete", repo.DeleteLabel)
|
||||
m.Get("/milestones/new", repo.NewMilestone)
|
||||
m.Post("/milestones/new", bindIgnErr(auth.CreateMilestoneForm{}), repo.NewMilestonePost)
|
||||
m.Get("/milestones/:index/edit", repo.UpdateMilestone)
|
||||
m.Post("/milestones/:index/edit", bindIgnErr(auth.CreateMilestoneForm{}), repo.UpdateMilestonePost)
|
||||
m.Get("/milestones/:index/:action", repo.UpdateMilestone)
|
||||
})
|
||||
m.Group("/labels", func() {
|
||||
m.Post("/new", bindIgnErr(auth.CreateLabelForm{}), repo.NewLabel)
|
||||
m.Post("/edit", bindIgnErr(auth.CreateLabelForm{}), repo.UpdateLabel)
|
||||
m.Post("/delete", repo.DeleteLabel)
|
||||
})
|
||||
m.Group("/milestones", func() {
|
||||
m.Get("/new", repo.NewMilestone)
|
||||
m.Post("/new", bindIgnErr(auth.CreateMilestoneForm{}), repo.NewMilestonePost)
|
||||
m.Get("/:index/edit", repo.UpdateMilestone)
|
||||
m.Post("/:index/edit", bindIgnErr(auth.CreateMilestoneForm{}), repo.UpdateMilestonePost)
|
||||
m.Get("/:index/:action", repo.UpdateMilestone)
|
||||
})
|
||||
|
||||
m.Post("/comment/:action", repo.Comment)
|
||||
@@ -440,7 +444,7 @@ func runWeb(ctx *cli.Context) {
|
||||
m.Get("/releases", middleware.RepoRef(), repo.Releases)
|
||||
m.Get("/issues", repo.Issues)
|
||||
m.Get("/issues/:index", repo.ViewIssue)
|
||||
m.Get("/issues/milestones", repo.Milestones)
|
||||
m.Get("/milestones", repo.Milestones)
|
||||
m.Get("/pulls", repo.Pulls)
|
||||
m.Get("/branches", repo.Branches)
|
||||
m.Get("/archive/*", repo.Download)
|
||||
|
||||
@@ -369,6 +369,8 @@ issues.filter_type.assigned_to_you = Assigned to you
|
||||
issues.filter_type.created_by_you = Created by you
|
||||
issues.filter_type.mentioning_you = Mentioning you
|
||||
issues.opened_by = opened %s by <a href="/%[2]s">%[2]s</a>
|
||||
issues.previous = Previous Page
|
||||
issues.next = Next Page
|
||||
|
||||
settings = Settings
|
||||
settings.options = Options
|
||||
|
||||
+20
-14
@@ -17,6 +17,7 @@ import (
|
||||
"github.com/go-xorm/xorm"
|
||||
|
||||
"github.com/gogits/gogs/modules/log"
|
||||
"github.com/gogits/gogs/modules/setting"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -114,19 +115,14 @@ func (i *Issue) AfterDelete() {
|
||||
// CreateIssue creates new issue for repository.
|
||||
func NewIssue(issue *Issue) (err error) {
|
||||
sess := x.NewSession()
|
||||
defer sess.Close()
|
||||
defer sessionRelease(sess)
|
||||
if err = sess.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if _, err = sess.Insert(issue); err != nil {
|
||||
sess.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
rawSql := "UPDATE `repository` SET num_issues = num_issues + 1 WHERE id = ?"
|
||||
if _, err = sess.Exec(rawSql, issue.RepoId); err != nil {
|
||||
sess.Rollback()
|
||||
} else if _, err = sess.Exec("UPDATE `repository` SET num_issues = num_issues + 1 WHERE id = ?", issue.RepoId); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -191,7 +187,7 @@ func GetIssueById(id int64) (*Issue, error) {
|
||||
|
||||
// GetIssues returns a list of issues by given conditions.
|
||||
func GetIssues(uid, rid, pid, mid int64, page int, isClosed bool, labelIds, sortType string) ([]Issue, error) {
|
||||
sess := x.Limit(20, (page-1)*20)
|
||||
sess := x.Limit(setting.IssuePagingNum, (page-1)*setting.IssuePagingNum)
|
||||
|
||||
if rid > 0 {
|
||||
sess.Where("repo_id=?", rid).And("is_closed=?", isClosed)
|
||||
@@ -211,9 +207,8 @@ func GetIssues(uid, rid, pid, mid int64, page int, isClosed bool, labelIds, sort
|
||||
|
||||
if len(labelIds) > 0 {
|
||||
for _, label := range strings.Split(labelIds, ",") {
|
||||
// Prevent SQL inject.
|
||||
if com.StrTo(label).MustInt() > 0 {
|
||||
sess.And("label_ids like '%$" + label + "|%'")
|
||||
sess.And("label_ids like ?", "'%$"+label+"|%'")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -236,8 +231,7 @@ func GetIssues(uid, rid, pid, mid int64, page int, isClosed bool, labelIds, sort
|
||||
}
|
||||
|
||||
var issues []Issue
|
||||
err := sess.Find(&issues)
|
||||
return issues, err
|
||||
return issues, sess.Find(&issues)
|
||||
}
|
||||
|
||||
type IssueStatus int
|
||||
@@ -281,6 +275,7 @@ type IssueUser struct {
|
||||
IsClosed bool
|
||||
}
|
||||
|
||||
// FIXME: organization
|
||||
// NewIssueUserPairs adds new issue-user pairs for new issue of repository.
|
||||
func NewIssueUserPairs(repo *Repository, issueID, orgID, posterID, assigneeID int64) error {
|
||||
users, err := repo.GetCollaborators()
|
||||
@@ -316,13 +311,24 @@ func NewIssueUserPairs(repo *Repository, issueID, orgID, posterID, assigneeID in
|
||||
}
|
||||
}
|
||||
|
||||
// Add owner's as well.
|
||||
if repo.OwnerId != posterID {
|
||||
iu.Id = 0
|
||||
iu.Uid = repo.OwnerId
|
||||
iu.IsAssigned = iu.Uid == assigneeID
|
||||
if _, err = x.Insert(iu); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// PairsContains returns true when pairs list contains given issue.
|
||||
func PairsContains(ius []*IssueUser, issueId int64) int {
|
||||
func PairsContains(ius []*IssueUser, issueId, uid int64) int {
|
||||
for i := range ius {
|
||||
if ius[i].IssueId == issueId {
|
||||
if ius[i].IssueId == issueId &&
|
||||
ius[i].Uid == uid {
|
||||
return i
|
||||
}
|
||||
}
|
||||
|
||||
@@ -771,7 +771,7 @@ func confLocaleLocale_deDeIni() (*asset, error) {
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _confLocaleLocale_enUsIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\x7d\xeb\x92\xdc\x46\xb2\xde\x7f\x3c\x05\x24\x07\x4d\x29\x62\xd8\x0c\x49\x61\x87\x43\x41\x52\x1e\xcd\x88\x97\x3d\x9c\xcb\xe1\x0c\x77\x7d\xcc\x60\x60\xd1\x0d\x4c\x37\x76\xba\x81\x5e\x00\x3d\xad\xde\x5f\x7e\x0d\xbf\x9e\x9f\xc4\x99\x5f\x66\xd6\x05\x40\x0f\xc5\x3d\x0e\x9f\x3f\x33\x85\xaa\xac\x5b\x56\x56\x56\xde\xaa\x3a\xdf\x6e\xb3\xa2\xec\x16\xe9\xcb\xf4\x34\xdd\xe6\x55\xbd\x2e\xbb\x2e\xed\xca\xf5\xdd\xb3\x55\xd3\xf5\x65\x91\xbe\xa9\x7a\xfa\x6e\x1f\xaa\x45\x99\x24\xab\x66\x53\x12\xe8\x5b\xfa\x97\x14\x79\xb7\x9a\x37\x79\x5b\x50\xc6\xb9\xa5\x93\xf2\xf7\xed\xba\x69\x19\xe8\x37\x49\x25\xab\x72\xbd\xe5\x3a\xf4\x2f\xe9\xaa\x65\x9d\x55\x35\x7d\xde\x50\x2a\x7d\x57\x27\x5d\xb3\xa8\xf2\x75\x16\x14\x20\xc3\xca\x7f\x4e\x7f\xac\x8b\xf4\xa6\x2f\xb7\xe9\x8b\x6e\x93\xaf\xd7\xaf\xf2\x0e\x55\xfa\x32\xcd\x17\x8b\x66\x57\xf7\x2f\x9e\x4b\x81\x34\xde\xec\x7a\x6b\xfd\x6a\xd7\x4b\xde\x6e\x6b\x59\x1f\xb7\x49\x5b\x2e\x2b\x9a\x58\x4b\x59\x1f\x34\x99\xec\xcb\x79\x57\xf5\x3c\xe8\xbf\x48\x2a\x79\x28\xdb\xae\x6a\x78\x3c\x7f\x96\x54\xb2\xcd\x97\x0c\x70\x4d\xff\x92\xbe\xdc\x6c\xd7\x39\x2a\xdc\x6a\x32\x59\xe7\xf5\x72\x27\x30\xef\x35\x99\x24\x3b\xc2\x5c\x9d\x03\x67\x1f\x35\x99\x94\x9b\xbc\x5a\x33\x7e\x9e\x71\x82\xda\xed\xba\x7d\x03\x2c\x5e\x6b\x92\xc6\x98\xf5\x87\x6d\x89\x21\x3e\xbb\xa5\x54\xb2\xc8\xb7\xfd\x62\x95\x53\xce\x99\xa4\x12\x02\xda\x36\x34\xd6\xa6\x3d\x00\xce\x3e\x92\xa6\x5d\xe6\x75\xf5\x8f\xbc\x97\xf1\x5f\x05\x9f\xc9\xa6\x6a\xdb\x86\xa7\x7e\x81\x44\x52\x97\xfb\x8c\xdb\xa1\x9c\xcb\x72\x1f\xb6\xc2\x25\x9b\x6a\xd9\xca\x2c\xb9\xf0\x02\x5f\xdc\x0a\x97\xdd\x35\xed\xbd\x16\xbc\xe6\xe4\xa0\x2a\x0d\x42\x4b\xe3\xfe\xf3\x9a\xf0\xa2\xa5\x17\xf8\x88\x00\xba\x24\x2f\x36\x55\x9d\x6d\xf3\xba\x64\x1c\x9d\xf2\x17\xe1\x85\xbe\x12\x5d\xee\xac\x2b\xfb\xbe\xaa\x97\x1d\x17\x4b\x56\x7a\xa3\x59\x49\x50\xe6\xf2\x78\x3c\x5d\x76\x57\x96\x85\x8c\xa8\x4b\x5f\x53\x3a\xd9\xee\xd6\x6b\x9a\xfb\xdf\x77\x65\xd7\x33\xfc\x35\x7d\xd3\x2c\xe4\x3b\xa9\xba\x8e\x12\x94\xfd\x0e\x89\x84\x16\xa0\x5e\x60\x48\x67\x48\x24\xc9\xa7\xae\xcc\xdb\xc5\xea\x73\x22\xff\xd1\x23\x27\x66\xb3\xd9\xd1\xa5\x61\x72\x50\x52\x90\x1e\xac\x83\x64\xd1\x14\xfc\x71\x46\xff\xa8\xe9\xaa\xee\x7a\x22\xe9\xcf\x89\x26\x18\x4c\x52\x82\xc6\xbe\xea\xd7\xa5\xcf\xc4\xfe\xe8\x78\x1d\xd2\xd7\x55\xdb\xf5\xcf\xfa\x8a\x48\xee\xc3\xae\x4e\x78\x7e\x44\xce\x59\x31\xb7\x5d\xfe\xa6\x21\xec\x20\xbb\xa5\xf9\x5d\x1c\x6e\xfe\xf5\xfd\x49\x7a\x4d\x5b\x7d\xd9\x96\x94\x4e\xa9\x0d\xfa\x47\x75\x7e\x9a\x25\x54\xcb\x7a\x3a\xcf\xfb\x7c\x9e\x77\xa5\x47\x2b\x17\x0a\x8d\xba\x32\x50\x2a\xb3\x0d\xb0\x88\xae\x8f\xe6\x3b\x45\xe7\xd4\x86\xee\x0e\xd7\xc6\x25\x6f\x11\xca\x67\xae\x81\xca\xd7\xeb\x92\xf3\xa9\xa9\xf4\xdd\xe5\xe5\xd5\xf9\xaf\x69\x59\x2f\xab\xba\x4c\xf7\x55\xbf\x4a\x77\xfd\xdd\x7f\xcb\x96\x65\x5d\xb6\xc4\x44\x16\x55\x4a\x3b\xa3\x25\x22\x48\x89\x3c\x65\x72\xb3\xa4\xeb\xd6\xd9\x46\xd0\x7b\x73\xf3\x3e\xbd\x60\x14\x6f\xf3\x7e\x85\x81\xf4\xab\xa4\xfb\xfb\x9a\x51\xe4\x3a\xbc\x5d\x95\xe9\x5d\x45\xb3\x06\x50\x73\x67\xf8\x48\x0b\x1d\xe3\x2c\x29\xdb\x36\xa3\x7d\xdf\x1f\x32\xad\xac\xed\x0d\x21\xa5\x09\x22\x9d\xba\xe9\xd3\x79\x99\xa2\xce\x2c\x49\x6c\xc0\x86\xdd\xd3\xed\x76\x5d\x2d\x64\xc7\xbe\x91\x32\x8f\x68\x66\xd1\x8a\xa5\x10\x0e\x88\xb2\xb2\x00\x5d\xc4\xff\x0e\xcd\xae\x4d\x23\x36\x80\xfa\xab\x92\xf8\xf2\x6a\x47\x5b\x2e\x27\x9e\xba\x6e\x76\xc5\x37\xa0\x54\x1b\xbd\x27\xd4\xf4\x43\x43\x03\x06\x76\x1c\x80\xef\xe2\x94\x28\x8e\x4f\x85\xb6\xdc\x34\xc4\x1d\x1c\xb1\x57\x44\x50\xfb\x8a\x0a\x69\xa6\x5d\xfe\x40\xfb\xad\x6f\xd2\x7e\x55\x75\x69\x41\xc4\xb6\xe0\x86\x69\x6b\xec\x88\x1f\x0b\x59\x10\x81\x0a\x69\x58\x5e\xbc\x06\x80\xda\xec\x88\x9a\x56\xd4\x18\x73\x7b\x3e\x9a\xa8\xc9\xa9\x71\x62\x4a\xd4\x0e\xe8\x9b\x28\xb7\x21\xde\xca\xdc\xef\x1c\x09\xfd\x0e\xdb\xa7\x51\xe5\x77\x77\x34\xaa\x8e\xa8\xe2\x6d\xba\x58\x37\x44\x52\x1f\x3f\xbc\xa7\xca\xab\xbe\xdf\x66\xdb\xa6\x05\x19\xdf\xde\x5e\xd3\xf6\x68\x7b\x9f\x1b\xe0\x9a\x61\xea\xdd\x66\x4e\x5f\xfb\x55\x45\x4c\x20\x0f\x16\x08\xa8\x58\xf3\x01\x53\xa7\x4d\x3d\xc3\x5a\xed\xda\xf5\x60\x19\xa9\x4b\x2b\x39\x32\x3c\x1e\xc2\x73\xfe\x73\xe3\x47\x89\xe9\x76\x74\x0a\xef\xb1\xa8\x34\xd5\x12\xa7\x09\xd1\x56\xb3\xe5\x76\x03\xe2\xba\xd2\x0c\x4f\x51\x38\x81\x5c\xb9\x9c\x43\x54\x8a\x33\x3e\xe0\xa5\x1b\x9a\xb0\xee\xe6\x9b\x0b\x42\x03\xb6\x34\x72\xef\xda\x66\x43\xb9\xaf\xe9\x9f\xcf\xf0\xc3\xbf\xe0\xf6\x00\x93\x17\x05\xb1\x99\xee\x24\xfd\xf0\xfa\x2c\xfd\x2f\x3f\xfd\xf8\xe3\x2c\x7d\xd7\xf3\x86\x60\x1a\xf9\x1b\xaf\x2d\x25\xe5\x40\x74\xa0\xb4\x73\x7b\x5a\xfe\x6f\x99\xc0\xbf\x4d\x5f\xa0\xf4\xbf\x97\xbf\xe7\x74\xce\x96\xb3\x45\xb3\x79\xc5\x9b\x7b\x93\xf7\xb3\x84\x4b\x88\x6a\x94\x9c\x6e\xca\xba\xa0\x84\x1e\xab\x5a\x16\x70\x1d\x2d\x0f\x0e\x59\x39\xfd\xb3\x45\x53\xdf\x55\x2d\x4f\xe8\xb7\x3a\x9f\x13\x4e\x4c\x2e\x20\x76\x8c\x12\x3b\xbb\x08\x69\xb4\x91\xab\xbb\x83\x07\xc5\x54\x2f\x39\x53\x17\x34\x61\x59\x89\x1a\x55\x91\xc9\x61\xf9\x06\xd9\x58\xb7\x2b\x9a\x5e\x6b\xf8\xee\x3c\xc2\x9b\xbb\xbb\x35\x31\x36\x63\x56\xda\xc3\x95\xe4\x0a\xdf\x0a\x41\x88\x18\xb7\x90\x6c\xcLine truncated
|
||||
var _confLocaleLocale_enUsIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\x7d\xeb\x72\xdc\x48\xb2\xde\x7f\x3c\x05\x66\x1c\xb2\x66\x22\xa8\x56\xcc\x4c\xd8\xe1\x98\x90\x34\xe6\x90\xa3\xcb\x1e\x51\xd4\x11\xa9\x5d\x1f\x2b\x14\x58\x74\x03\xec\xc6\xb2\x1b\xe8\xc5\x85\x3d\xdc\x5f\x7e\x0d\xbf\x9e\x9f\xc4\x99\x5f\x66\xd6\x05\x40\x53\xa3\x3d\x0e\x9f\x3f\x64\xa1\x2a\xeb\x96\x95\x95\x95\xb7\xaa\xce\xf7\xfb\xac\x28\xbb\x55\xfa\x3c\x3d\x4d\xf7\x79\x55\x6f\xcb\xae\x4b\xbb\x72\x7b\xf3\x64\xd3\x74\x7d\x59\xa4\xaf\xaa\x9e\xbe\xdb\xbb\x6a\x55\x26\xc9\xa6\xd9\x95\x04\xfa\x9a\xfe\x25\x45\xde\x6d\x96\x4d\xde\x16\x94\x71\x6e\xe9\xa4\xfc\x7d\xbf\x6d\x5a\x06\xfa\x4d\x52\xc9\xa6\xdc\xee\xb9\x0e\xfd\x4b\xba\x6a\x5d\x67\x55\x4d\x9f\x57\x94\x4a\xdf\xd4\x49\xd7\xac\xaa\x7c\x9b\x05\x05\xc8\xb0\xf2\x9f\xd3\x1f\xeb\x22\xbd\xea\xcb\x7d\xfa\xac\xdb\xe5\xdb\xed\x8b\xbc\x43\x95\xbe\x4c\xf3\xd5\xaa\x19\xea\xfe\xd9\x53\x29\x90\xc6\x9b\xa1\xb7\xd6\x2f\x87\x5e\xf2\x86\xbd\x65\x7d\xdc\x27\x6d\xb9\xae\x68\x62\x2d\x65\x7d\xd0\x64\x72\x28\x97\x5d\xd5\xf3\xa0\xff\x22\xa9\xe4\xae\x6c\xbb\xaa\xe1\xf1\xfc\x59\x52\xc9\x3e\x5f\x33\xc0\x7b\xfa\x97\xf4\xe5\x6e\xbf\xcd\x51\xe1\x5a\x93\xc9\x36\xaf\xd7\x83\xc0\xbc\xd5\x64\x92\x0c\x84\xb9\x3a\x07\xce\x3e\x6a\x32\x29\x77\x79\xb5\x65\xfc\x3c\xe1\x04\xb5\xdb\x75\x87\x06\x58\x7c\xaf\x49\x1a\x63\xd6\xdf\xef\x4b\x0c\xf1\xc9\x35\xa5\x92\x55\xbe\xef\x57\x9b\x9c\x72\xce\x24\x95\x10\xd0\xbe\xa1\xb1\x36\xed\x3d\xe0\xec\x23\x69\xda\x75\x5e\x57\xff\xc8\x7b\x19\xff\x65\xf0\x99\xec\xaa\xb6\x6d\x78\xea\x17\x48\x24\x75\x79\xc8\xb8\x1d\xca\x79\x57\x1e\xc2\x56\xb8\x64\x57\xad\x5b\x99\x25\x17\x5e\xe0\x8b\x5b\xe1\xb2\x9b\xa6\xbd\xd5\x82\x97\x9c\x1c\x55\xa5\x41\x68\x69\xdc\x7f\x5e\x13\x5e\xb4\xf4\x02\x1f\x11\x40\x97\xe4\xc5\xae\xaa\xb3\x7d\x5e\x97\x8c\xa3\x53\xfe\x22\xbc\xd0\x57\xa2\xcb\x9d\x75\x65\xdf\x57\xf5\xba\xe3\x62\xc9\x4a\xaf\x34\x2b\x09\xca\x5c\x1e\x8f\xa7\xcb\x6e\xca\xb2\x90\x11\x75\xe9\x4b\x4a\x27\xfb\x61\xbb\xa5\xb9\xff\x7d\x28\xbb\x9e\xe1\xdf\xd3\x37\xcd\x42\xbe\x93\xaa\xeb\x28\x41\xd9\x6f\x90\x48\x68\x01\xea\x15\x86\x74\x86\x44\x92\x7c\xea\xca\xbc\x5d\x6d\x3e\x27\xf2\x1f\x3d\x72\x62\xb1\x58\x1c\x5d\x1a\x26\x07\x25\x05\xe9\xc1\x3a\x48\x56\x4d\xc1\x1f\x67\xf4\x8f\x9a\xae\xea\xae\x27\x92\xfe\x9c\x68\x82\xc1\x24\x25\x68\xec\xab\x7e\x5b\xfa\x4c\xec\x8f\x8e\xd7\x21\x7d\x59\xb5\x5d\xff\xa4\xaf\x88\xe4\x3e\x0c\x75\xc2\xf3\x23\x72\xce\x8a\xa5\xed\xf2\x57\x0d\x61\x07\xd9\x2d\xcd\xef\xe2\xfe\xea\x5f\xdf\x9e\xa4\xef\x69\xab\xaf\xdb\x92\xd2\x29\xb5\x41\xff\xa8\xce\x4f\x8b\x84\x6a\x59\x4f\xe7\x79\x9f\x2f\xf3\xae\xf4\x68\xe5\x42\xa1\x51\x57\x06\x4a\x65\xb6\x01\x16\xd1\xf5\xd1\x7c\xe7\xe8\x9c\xda\xd0\xdd\xe1\xda\x78\xc7\x5b\x84\xf2\x99\x6b\xa0\xf2\xfb\x6d\xc9\xf9\xd4\x54\xfa\xe6\xdd\xbb\xcb\xf3\x5f\xd3\xb2\x5e\x57\x75\x99\x1e\xaa\x7e\x93\x0e\xfd\xcd\x7f\xcb\xd6\x65\x5d\xb6\xc4\x44\x56\x55\x4a\x3b\xa3\x25\x22\x48\x89\x3c\x65\x72\x8b\xa4\xeb\xb6\xd9\x4e\xd0\x7b\x75\xf5\x36\xbd\x60\x14\xef\xf3\x7e\x83\x81\xf4\x9b\xa4\xfb\xfb\x96\x51\xe4\x3a\xbc\xde\x94\xe9\x4d\x45\xb3\x06\x50\x73\x63\xf8\x48\x0b\x1d\xe3\x22\x29\xdb\x36\xa3\x7d\xdf\xdf\x67\x5a\x59\xdb\x1b\x43\x4a\x13\x44\x3a\x75\xd3\xa7\xcb\x32\x45\x9d\x45\x92\xd8\x80\x0d\xbb\xa7\xfb\xfd\xb6\x5a\xc9\x8e\x7d\x25\x65\x1e\xd1\xcc\xa2\x15\x4b\x21\x1c\x10\x65\x65\x01\xba\x88\xff\xdd\x37\x43\x9b\x46\x6c\x00\xf5\x37\x25\xf1\xe5\xcd\x40\x5b\x2e\x27\x9e\xba\x6d\x86\xe2\x1b\x50\xaa\x8d\xde\x13\x6a\xfa\xa1\xa1\x01\x03\x3b\x0e\xc0\x77\x71\x4a\x14\xc7\xa7\x42\x5b\xee\x1a\xe2\x0e\x8e\xd8\x2b\x22\xa8\x43\x45\x85\x34\xd3\x2e\xbf\xa3\xfd\xd6\x37\x69\xbf\xa9\xba\xb4\x20\x62\x5b\x71\xc3\xb4\x35\x06\xe2\xc7\x42\x16\x44\xa0\x42\x1a\x96\x17\xaf\x01\xa0\x76\x03\x51\xd3\x86\x1a\x63\x6e\xcf\x47\x13\x35\x39\x37\x4e\x4c\x89\xda\x01\x7d\x13\xe5\x36\xc4\x5b\x99\xfb\x9d\x23\xa1\xdf\x61\xfb\x34\xaa\xfc\xe6\x86\x46\xd5\x11\x55\xbc\x4e\x57\xdb\x86\x48\xea\xe3\x87\xb7\x54\x79\xd3\xf7\xfb\x6c\xdf\xb4\x20\xe3\xeb\xeb\xf7\xb4\x3d\xda\xde\xe7\x06\xb8\x66\x98\x7a\xd8\x2d\xe9\xeb\xb0\xa9\x88\x09\xe4\xc1\x02\x01\x15\x5b\x3e\x60\xea\xb4\xa9\x17\x58\xab\xa1\xdd\x8e\x96\x91\xba\xb4\x92\x23\xc3\xe3\x21\x3c\xe5\x3f\x57\x7e\x94\x98\x6e\x47\xa7\xf0\x01\x8b\x4a\x53\x2d\x71\x9a\x10\x6d\x35\x7b\x6e\x37\x20\xae\x4b\xcd\xf0\x14\x85\x13\xc8\x95\xcb\x39\x44\xa5\x38\xe3\x03\x5e\xba\xa3\x09\xeb\x6e\xbe\xba\x20\x34\x60\x4b\x23\xf7\xa6\x6d\x76\x94\xfb\x92\xfe\xf9\x0c\x3f\xfc\x0b\x6e\x0f\x30\x79\x51\x10\x9b\xe9\x4e\xd2\x0f\x2f\xcf\xd2\xff\xf2\xd3\x8f\x3f\x2e\xd2\x37\x3d\x6f\x08\xa6\x91\xbf\xf1\xda\x52\x52\x0e\x44\x07\x4a\x3b\xb7\xa7\xe5\xff\x96\x09\xfc\xdb\xf4\x19\x4a\xff\x7b\xf9\x7b\x4e\xe7\x6c\xb9\x58\x35\xbb\x17\xbc\xb9\x77\x79\xbf\x48\xb8\x84\xa8\x46\xc9\xe9\xaa\xac\x0b\x4a\xe8\xb1\xaa\x65\x01\xd7\xd1\xf2\xe0\x90\x95\xd3\x3f\x5b\x35\xf5\x4d\xd5\xf2\x84\x7e\xab\xf3\x25\xe1\xc4\xe4\x02\x62\xc7\x28\xb1\xb3\x8b\x90\x46\x1b\xb9\xba\xb9\xf7\xa0\x98\xea\x3b\xce\xd4\x05\x4d\x58\x56\xa2\x46\x55\x64\x72\x58\xbe\x42\x36\xd6\xed\x92\xa6\xd7\x1a\xbe\x3b\x8f\xf0\xe6\xe6\x66\x4b\x8c\xcd\x98\x95\xf6\x70\x29\xb9\xc2\xb7\x42\x10\x22\xc6\x3d\x24\x9b\xfLine truncated
|
||||
|
||||
func confLocaleLocale_enUsIniBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
@@ -786,7 +786,7 @@ func confLocaleLocale_enUsIni() (*asset, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 33329, mode: os.FileMode(420), modTime: time.Unix(1437684454, 0)}
|
||||
info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 33385, mode: os.FileMode(420), modTime: time.Unix(1437725453, 0)}
|
||||
a := &asset{bytes: bytes, info: info}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
@@ -82,8 +82,9 @@ var (
|
||||
}
|
||||
|
||||
// Repository settings.
|
||||
RepoRootPath string
|
||||
ScriptType string
|
||||
RepoRootPath string
|
||||
ScriptType string
|
||||
IssuePagingNum int = 10
|
||||
|
||||
// Picture settings.
|
||||
PictureService string
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
@font-face{font-family:octicons;src:url(../fonts/octicons.eot?#iefix&v=345f8bad9c5003db196d08f05e7f030fd2a32ff6)format('embedded-opentype'),url(../fonts/octicons.woff?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6)format('woff'),url(../fonts/octicons.ttf?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6)format('truetype'),url(../fonts/octicons.svg?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6#octicons)format('svg');font-weight:400;font-style:normal}.mega-octicon,.octicon{font:normal normal normal 16px/1 octicons;display:inline-block;text-decoration:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mega-octicon{font-size:32px}.octicon-alert:before{content:'\f02d'}.octicon-alignment-align:before{content:'\f08a'}.octicon-alignment-aligned-to:before{content:'\f08e'}.octicon-alignment-unalign:before{content:'\f08b'}.octicon-arrow-down:before{content:'\f03f'}.octicon-arrow-left:before{content:'\f040'}.octicon-arrow-right:before{content:'\f03e'}.octicon-arrow-small-down:before{content:'\f0a0'}.octicon-arrow-small-left:before{content:'\f0a1'}.octicon-arrow-small-right:before{content:'\f071'}.octicon-arrow-small-up:before{content:'\f09f'}.octicon-arrow-up:before{content:'\f03d'}.octicon-beer:before{content:'\f069'}.octicon-book:before{content:'\f007'}.octicon-bookmark:before{content:'\f07b'}.octicon-briefcase:before{content:'\f0d3'}.octicon-broadcast:before{content:'\f048'}.octicon-browser:before{content:'\f0c5'}.octicon-bug:before{content:'\f091'}.octicon-calendar:before{content:'\f068'}.octicon-check:before{content:'\f03a'}.octicon-checklist:before{content:'\f076'}.octicon-chevron-down:before{content:'\f0a3'}.octicon-chevron-left:before{content:'\f0a4'}.octicon-chevron-right:before{content:'\f078'}.octicon-chevron-up:before{content:'\f0a2'}.octicon-circle-slash:before{content:'\f084'}.octicon-circuit-board:before{content:'\f0d6'}.octicon-clippy:before{content:'\f035'}.octicon-clock:before{content:'\f046'}.octicon-cloud-download:before{content:'\f00b'}.octicon-cloud-upload:before{content:'\f00c'}.octicon-code:before{content:'\f05f'}.octicon-color-mode:before{content:'\f065'}.octicon-comment-add:before,.octicon-comment:before{content:'\f02b'}.octicon-comment-discussion:before{content:'\f04f'}.octicon-credit-card:before{content:'\f045'}.octicon-dash:before{content:'\f0ca'}.octicon-dashboard:before{content:'\f07d'}.octicon-database:before{content:'\f096'}.octicon-device-camera:before{content:'\f056'}.octicon-device-camera-video:before{content:'\f057'}.octicon-device-desktop:before{content:'\f27c'}.octicon-device-mobile:before{content:'\f038'}.octicon-diff:before{content:'\f04d'}.octicon-diff-added:before{content:'\f06b'}.octicon-diff-ignored:before{content:'\f099'}.octicon-diff-modified:before{content:'\f06d'}.octicon-diff-removed:before{content:'\f06c'}.octicon-diff-renamed:before{content:'\f06e'}.octicon-ellipsis:before{content:'\f09a'}.octicon-eye-unwatch:before,.octicon-eye-watch:before,.octicon-eye:before{content:'\f04e'}.octicon-file-binary:before{content:'\f094'}.octicon-file-code:before{content:'\f010'}.octicon-file-directory:before{content:'\f016'}.octicon-file-media:before{content:'\f012'}.octicon-file-pdf:before{content:'\f014'}.octicon-file-submodule:before{content:'\f017'}.octicon-file-symlink-directory:before{content:'\f0b1'}.octicon-file-symlink-file:before{content:'\f0b0'}.octicon-file-text:before{content:'\f011'}.octicon-file-zip:before{content:'\f013'}.octicon-flame:before{content:'\f0d2'}.octicon-fold:before{content:'\f0cc'}.octicon-gear:before{content:'\f02f'}.octicon-gift:before{content:'\f042'}.octicon-gist:before{content:'\f00e'}.octicon-gist-secret:before{content:'\f08c'}.octicon-git-branch-create:before,.octicon-git-branch-delete:before,.octicon-git-branch:before{content:'\f020'}.octicon-git-commit:before{content:'\f01f'}.octicon-git-compare:before{content:'\f0ac'}.octicon-git-merge:before{content:'\f023'}.octicon-git-pull-request-abandoned:before,.octicon-git-pull-request:before{content:'\f009'}.octicon-globe:before{content:'\f0b6'}.octicon-graph:before{content:'\f043'}.octicon-heart:before{content:'\2665'}.octicon-history:before{content:'\f07e'}.octicon-home:before{content:'\f08d'}.octicon-horizontal-rule:before{content:'\f070'}.octicon-hourglass:before{content:'\f09e'}.octicon-hubot:before{content:'\f09d'}.octicon-inbox:before{content:'\f0cf'}.octicon-info:before{content:'\f059'}.octicon-issue-closed:before{content:'\f028'}.octicon-issue-opened:before{content:'\f026'}.octicon-issue-reopened:before{content:'\f027'}.octicon-jersey:before{content:'\f019'}.octicon-jump-down:before{content:'\f072'}.octicon-jump-left:before{content:'\f0a5'}.octicon-jump-right:before{content:'\f0a6'}.octicon-jump-up:before{content:'\f073'}.octicon-key:before{content:'\f049'}.octicon-keyboard:before{content:'\f00d'}.octicon-law:before{content:'\f0d8'}.octicon-light-bulb:before{content:'\f000'}.octicoLine truncated
|
||||
@font-face{font-family:octicons;src:url(../fonts/octicons.eot?#iefix&v=345f8bad9c5003db196d08f05e7f030fd2a32ff6)format('embedded-opentype'),url(../fonts/octicons.woff?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6)format('woff'),url(../fonts/octicons.ttf?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6)format('truetype'),url(../fonts/octicons.svg?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6#octicons)format('svg');font-weight:400;font-style:normal}.mega-octicon,.octicon{font:normal normal normal 16px/1 octicons;display:inline-block;text-decoration:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mega-octicon{font-size:32px}.octicon-alert:before{content:'\f02d'}.octicon-alignment-align:before{content:'\f08a'}.octicon-alignment-aligned-to:before{content:'\f08e'}.octicon-alignment-unalign:before{content:'\f08b'}.octicon-arrow-down:before{content:'\f03f'}.octicon-arrow-left:before{content:'\f040'}.octicon-arrow-right:before{content:'\f03e'}.octicon-arrow-small-down:before{content:'\f0a0'}.octicon-arrow-small-left:before{content:'\f0a1'}.octicon-arrow-small-right:before{content:'\f071'}.octicon-arrow-small-up:before{content:'\f09f'}.octicon-arrow-up:before{content:'\f03d'}.octicon-beer:before{content:'\f069'}.octicon-book:before{content:'\f007'}.octicon-bookmark:before{content:'\f07b'}.octicon-briefcase:before{content:'\f0d3'}.octicon-broadcast:before{content:'\f048'}.octicon-browser:before{content:'\f0c5'}.octicon-bug:before{content:'\f091'}.octicon-calendar:before{content:'\f068'}.octicon-check:before{content:'\f03a'}.octicon-checklist:before{content:'\f076'}.octicon-chevron-down:before{content:'\f0a3'}.octicon-chevron-left:before{content:'\f0a4'}.octicon-chevron-right:before{content:'\f078'}.octicon-chevron-up:before{content:'\f0a2'}.octicon-circle-slash:before{content:'\f084'}.octicon-circuit-board:before{content:'\f0d6'}.octicon-clippy:before{content:'\f035'}.octicon-clock:before{content:'\f046'}.octicon-cloud-download:before{content:'\f00b'}.octicon-cloud-upload:before{content:'\f00c'}.octicon-code:before{content:'\f05f'}.octicon-color-mode:before{content:'\f065'}.octicon-comment-add:before,.octicon-comment:before{content:'\f02b'}.octicon-comment-discussion:before{content:'\f04f'}.octicon-credit-card:before{content:'\f045'}.octicon-dash:before{content:'\f0ca'}.octicon-dashboard:before{content:'\f07d'}.octicon-database:before{content:'\f096'}.octicon-device-camera:before{content:'\f056'}.octicon-device-camera-video:before{content:'\f057'}.octicon-device-desktop:before{content:'\f27c'}.octicon-device-mobile:before{content:'\f038'}.octicon-diff:before{content:'\f04d'}.octicon-diff-added:before{content:'\f06b'}.octicon-diff-ignored:before{content:'\f099'}.octicon-diff-modified:before{content:'\f06d'}.octicon-diff-removed:before{content:'\f06c'}.octicon-diff-renamed:before{content:'\f06e'}.octicon-ellipsis:before{content:'\f09a'}.octicon-eye-unwatch:before,.octicon-eye-watch:before,.octicon-eye:before{content:'\f04e'}.octicon-file-binary:before{content:'\f094'}.octicon-file-code:before{content:'\f010'}.octicon-file-directory:before{content:'\f016'}.octicon-file-media:before{content:'\f012'}.octicon-file-pdf:before{content:'\f014'}.octicon-file-submodule:before{content:'\f017'}.octicon-file-symlink-directory:before{content:'\f0b1'}.octicon-file-symlink-file:before{content:'\f0b0'}.octicon-file-text:before{content:'\f011'}.octicon-file-zip:before{content:'\f013'}.octicon-flame:before{content:'\f0d2'}.octicon-fold:before{content:'\f0cc'}.octicon-gear:before{content:'\f02f'}.octicon-gift:before{content:'\f042'}.octicon-gist:before{content:'\f00e'}.octicon-gist-secret:before{content:'\f08c'}.octicon-git-branch-create:before,.octicon-git-branch-delete:before,.octicon-git-branch:before{content:'\f020'}.octicon-git-commit:before{content:'\f01f'}.octicon-git-compare:before{content:'\f0ac'}.octicon-git-merge:before{content:'\f023'}.octicon-git-pull-request-abandoned:before,.octicon-git-pull-request:before{content:'\f009'}.octicon-globe:before{content:'\f0b6'}.octicon-graph:before{content:'\f043'}.octicon-heart:before{content:'\2665'}.octicon-history:before{content:'\f07e'}.octicon-home:before{content:'\f08d'}.octicon-horizontal-rule:before{content:'\f070'}.octicon-hourglass:before{content:'\f09e'}.octicon-hubot:before{content:'\f09d'}.octicon-inbox:before{content:'\f0cf'}.octicon-info:before{content:'\f059'}.octicon-issue-closed:before{content:'\f028'}.octicon-issue-opened:before{content:'\f026'}.octicon-issue-reopened:before{content:'\f027'}.octicon-jersey:before{content:'\f019'}.octicon-jump-down:before{content:'\f072'}.octicon-jump-left:before{content:'\f0a5'}.octicon-jump-right:before{content:'\f0a6'}.octicon-jump-up:before{content:'\f073'}.octicon-key:before{content:'\f049'}.octicon-keyboard:before{content:'\f00d'}.octicon-law:before{content:'\f0d8'}.octicon-light-bulb:before{content:'\f000'}.octicoLine truncated
|
||||
+1
-1
@@ -35,7 +35,7 @@ function initInstall() {
|
||||
$(document).ready(function () {
|
||||
// Semantic UI modules.
|
||||
$('.dropdown').dropdown();
|
||||
$('.link.dropdown').dropdown({
|
||||
$('.jump.dropdown').dropdown({
|
||||
action: 'hide'
|
||||
});
|
||||
$('.slide.up.dropdown').dropdown({
|
||||
|
||||
@@ -52,8 +52,9 @@
|
||||
.issue.list {
|
||||
list-style: none;
|
||||
font-size: 13px;
|
||||
padding-top: 60px;
|
||||
padding-top: 45px;
|
||||
.item {
|
||||
padding-top: 15px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px dashed #AAA;
|
||||
.title {
|
||||
@@ -74,5 +75,8 @@
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
.page.buttons {
|
||||
padding-top: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
+26
-16
@@ -43,8 +43,6 @@ var (
|
||||
func Issues(ctx *middleware.Context) {
|
||||
ctx.Data["Title"] = ctx.Tr("repo.issues")
|
||||
ctx.Data["PageIsIssueList"] = true
|
||||
ctx.Data["IsRepoToolbarIssues"] = true
|
||||
ctx.Data["IsRepoToolbarIssuesList"] = true
|
||||
|
||||
viewType := ctx.Query("type")
|
||||
types := []string{"assigned", "created_by", "mentioned"}
|
||||
@@ -54,6 +52,7 @@ func Issues(ctx *middleware.Context) {
|
||||
|
||||
isShowClosed := ctx.Query("state") == "closed"
|
||||
|
||||
// Must sign in to see issues about you.
|
||||
if viewType != "all" && !ctx.IsSigned {
|
||||
ctx.SetCookie("redirect_to", "/"+url.QueryEscape(setting.AppSubUrl+ctx.Req.RequestURI), 0, setting.AppSubUrl)
|
||||
ctx.Redirect(setting.AppSubUrl + "/user/login")
|
||||
@@ -73,21 +72,23 @@ func Issues(ctx *middleware.Context) {
|
||||
filterMode = models.FM_MENTION
|
||||
}
|
||||
|
||||
repo := ctx.Repo.Repository
|
||||
|
||||
var mid int64
|
||||
midx, _ := com.StrTo(ctx.Query("milestone")).Int64()
|
||||
midx := ctx.QueryInt64("milestone")
|
||||
if midx > 0 {
|
||||
mile, err := models.GetMilestoneByIndex(ctx.Repo.Repository.Id, midx)
|
||||
mile, err := models.GetMilestoneByIndex(repo.Id, midx)
|
||||
if err != nil {
|
||||
ctx.Handle(500, "issue.Issues(GetMilestoneByIndex): %v", err)
|
||||
ctx.Handle(500, "GetMilestoneByIndex: %v", err)
|
||||
return
|
||||
}
|
||||
mid = mile.Id
|
||||
}
|
||||
|
||||
selectLabels := ctx.Query("labels")
|
||||
labels, err := models.GetLabels(ctx.Repo.Repository.Id)
|
||||
labels, err := models.GetLabels(repo.Id)
|
||||
if err != nil {
|
||||
ctx.Handle(500, "issue.Issues(GetLabels): %v", err)
|
||||
ctx.Handle(500, "GetLabels: %v", err)
|
||||
return
|
||||
}
|
||||
for _, l := range labels {
|
||||
@@ -95,20 +96,29 @@ func Issues(ctx *middleware.Context) {
|
||||
}
|
||||
ctx.Data["Labels"] = labels
|
||||
|
||||
page, _ := com.StrTo(ctx.Query("page")).Int()
|
||||
page := ctx.QueryInt("page")
|
||||
if page <= 1 {
|
||||
page = 1
|
||||
} else {
|
||||
ctx.Data["PreviousPage"] = page - 1
|
||||
}
|
||||
if (!isShowClosed && repo.NumOpenIssues > setting.IssuePagingNum*page) ||
|
||||
(isShowClosed && repo.NumClosedIssues > setting.IssuePagingNum*page) {
|
||||
ctx.Data["NextPage"] = page + 1
|
||||
}
|
||||
|
||||
// Get issues.
|
||||
issues, err := models.GetIssues(assigneeId, ctx.Repo.Repository.Id, posterId, mid, page,
|
||||
issues, err := models.GetIssues(assigneeId, repo.Id, posterId, mid, page,
|
||||
isShowClosed, selectLabels, ctx.Query("sortType"))
|
||||
if err != nil {
|
||||
ctx.Handle(500, "issue.Issues(GetIssues): %v", err)
|
||||
ctx.Handle(500, "GetIssues: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Get issue-user pairs.
|
||||
pairs, err := models.GetIssueUserPairs(ctx.Repo.Repository.Id, posterId, isShowClosed)
|
||||
pairs, err := models.GetIssueUserPairs(repo.Id, posterId, isShowClosed)
|
||||
if err != nil {
|
||||
ctx.Handle(500, "issue.Issues(GetIssueUserPairs): %v", err)
|
||||
ctx.Handle(500, "GetIssueUserPairs: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -119,7 +129,7 @@ func Issues(ctx *middleware.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
idx := models.PairsContains(pairs, issues[i].Id)
|
||||
idx := models.PairsContains(pairs, issues[i].Id, ctx.User.Id)
|
||||
|
||||
if filterMode == models.FM_MENTION && (idx == -1 || !pairs[idx].IsMentioned) {
|
||||
continue
|
||||
@@ -132,7 +142,7 @@ func Issues(ctx *middleware.Context) {
|
||||
}
|
||||
|
||||
if err = issues[i].GetPoster(); err != nil {
|
||||
ctx.Handle(500, "issue.Issues(GetPoster)", fmt.Errorf("[#%d]%v", issues[i].Id, err))
|
||||
ctx.Handle(500, "GetPoster", fmt.Errorf("[#%d]%v", issues[i].Id, err))
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -141,9 +151,9 @@ func Issues(ctx *middleware.Context) {
|
||||
if ctx.User != nil {
|
||||
uid = ctx.User.Id
|
||||
}
|
||||
issueStats := models.GetIssueStats(ctx.Repo.Repository.Id, uid, isShowClosed, filterMode)
|
||||
issueStats := models.GetIssueStats(repo.Id, uid, isShowClosed, filterMode)
|
||||
ctx.Data["IssueStats"] = issueStats
|
||||
ctx.Data["SelectLabels"], _ = com.StrTo(selectLabels).Int64()
|
||||
ctx.Data["SelectLabels"] = com.StrTo(selectLabels).MustInt64()
|
||||
ctx.Data["ViewType"] = viewType
|
||||
ctx.Data["Issues"] = issues
|
||||
ctx.Data["IsShowClosed"] = isShowClosed
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<img class="img-15" src="{{.SignedUser.AvatarLink}}"/>
|
||||
<span class="sr-only">{{.SignedUser.Name}}</span>
|
||||
</a>
|
||||
<div class="ui pointing dropdown head link item">
|
||||
<div class="ui pointing dropdown head link jump item">
|
||||
<span class="text">
|
||||
<i class="octicon octicon-plus"></i>
|
||||
<i class="dropdown icon"></i>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui right floated secondary filter menu">
|
||||
<div class="ui {{if not .Labels}}disabled{{end}} pointing dropdown item">
|
||||
<div class="ui {{if not .Labels}}disabled{{end}} pointing dropdown jump item">
|
||||
<span class="text">
|
||||
{{.i18n.Tr "repo.issues.filter_label"}}
|
||||
<i class="dropdown icon"></i>
|
||||
@@ -33,7 +33,7 @@
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui {{if not .Milestones}}disabled{{end}} pointing dropdown item">
|
||||
<div class="ui {{if not .Milestones}}disabled{{end}} pointing dropdown jump item">
|
||||
<span class="text">
|
||||
{{.i18n.Tr "repo.issues.filter_milestone"}}
|
||||
<i class="dropdown icon"></i>
|
||||
@@ -44,7 +44,7 @@
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui {{if not .Assignees}}disabled{{end}} pointing dropdown item">
|
||||
<div class="ui {{if not .Assignees}}disabled{{end}} pointing dropdown jump item">
|
||||
<span class="text">
|
||||
{{.i18n.Tr "repo.issues.filter_assignee"}}
|
||||
<i class="dropdown icon"></i>
|
||||
@@ -55,7 +55,7 @@
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui pointing dropdown type item">
|
||||
<div class="ui pointing dropdown type jump item">
|
||||
<span class="text">
|
||||
{{.i18n.Tr "repo.issues.filter_type"}}
|
||||
<i class="dropdown icon"></i>
|
||||
@@ -73,12 +73,17 @@
|
||||
{{range .Issues}}
|
||||
{{ $timeStr:= TimeSince .Created $.Lang }}
|
||||
<li class="item">
|
||||
<div class="ui black label">#{{.Id}}</div>
|
||||
<div class="ui {{if .IsRead}}black{{else}}green{{end}} label">#{{.Id}}</div>
|
||||
<a class="title" href="{{$.RepoLink}}/issues/{{.Index}}">{{.Name}}</a>
|
||||
<p class="desc">{{$.i18n.Tr "repo.issues.opened_by" $timeStr .Poster.Name|Str2html}}</p>
|
||||
{{if .NumComments}}<span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span>{{end}}
|
||||
<p class="desc">{{$.i18n.Tr "repo.issues.opened_by" $timeStr .Poster.Name|Str2html}}</p>
|
||||
</li>
|
||||
{{end}}
|
||||
|
||||
<div class="center page buttons">
|
||||
<a class="ui {{if not .PreviousPage}}disabled{{end}} blue button" href="{{.RepoLink}}/issues?page={{.PreviousPage}}">{{.i18n.Tr "repo.issues.previous"}}</a>
|
||||
<a class="ui {{if not .NextPage}}disabled{{end}} blue button" href="{{.RepoLink}}/issues?page={{.NextPage}}">{{.i18n.Tr "repo.issues.next"}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
<div id="issue">
|
||||
<div class="col-md-3 filter-list">
|
||||
<ul class="list-unstyled">
|
||||
<li><a href="{{.RepoLink}}/issues/milestones"{{if eq .State "open"}} class="active"{{end}}>Open Milestones <strong class="pull-right">{{.Repository.NumOpenMilestones}}</strong></a></li>
|
||||
<li><a href="{{.RepoLink}}/issues/milestones?state=closed"{{if eq .State "closed"}} class="active"{{end}}>Close Milestones <strong class="pull-right">{{.Repository.NumClosedMilestones}}</strong></a></li>
|
||||
<li><a href="{{.RepoLink}}/milestones"{{if eq .State "open"}} class="active"{{end}}>Open Milestones <strong class="pull-right">{{.Repository.NumOpenMilestones}}</strong></a></li>
|
||||
<li><a href="{{.RepoLink}}/milestones?state=closed"{{if eq .State "closed"}} class="active"{{end}}>Close Milestones <strong class="pull-right">{{.Repository.NumClosedMilestones}}</strong></a></li>
|
||||
</ul>
|
||||
<hr/>
|
||||
<a href="{{.RepoLink}}/issues/milestones/new" class="text-center">
|
||||
<a href="{{.RepoLink}}/milestones/new" class="text-center">
|
||||
<button class="btn btn-default btn-block">Create new milestone</button>
|
||||
</a>
|
||||
</div>
|
||||
@@ -22,13 +22,13 @@
|
||||
<span class="issue-open label label-success">{{.NumOpenIssues}}</span>
|
||||
<span class="issue-close label label-warning">{{.NumClosedIssues}}</span>
|
||||
<p class="actions pull-right">
|
||||
<a href="{{$.RepoLink}}/issues/milestones/{{.Index}}/edit">Edit</a>
|
||||
<a href="{{$.RepoLink}}/milestones/{{.Index}}/edit">Edit</a>
|
||||
{{if .IsClosed}}
|
||||
<a href="{{$.RepoLink}}/issues/milestones/{{.Index}}/open">Open</a>
|
||||
<a href="{{$.RepoLink}}/milestones/{{.Index}}/open">Open</a>
|
||||
{{else}}
|
||||
<a href="{{$.RepoLink}}/issues/milestones/{{.Index}}/close">Close</a>
|
||||
<a href="{{$.RepoLink}}/milestones/{{.Index}}/close">Close</a>
|
||||
{{end}}
|
||||
<a class="text-danger" href="{{$.RepoLink}}/issues/milestones/{{.Index}}/delete">Delete</a>
|
||||
<a class="text-danger" href="{{$.RepoLink}}/milestones/{{.Index}}/delete">Delete</a>
|
||||
<a href="{{$.RepoLink}}/issues?milestone={{.Index}}{{if .IsClosed}}&state=closed{{end}}">Issues</a>
|
||||
</p>
|
||||
<hr/>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
{{template "repo/toolbar" .}}
|
||||
<div id="body" class="container">
|
||||
<div id="issue">
|
||||
<form class="form" action="{{.RepoLink}}/issues/milestones/{{.Milestone.Index}}/edit" method="post" id="issue-create-form">
|
||||
<form class="form" action="{{.RepoLink}}/milestones/{{.Milestone.Index}}/edit" method="post" id="issue-create-form">
|
||||
{{.CsrfTokenHtml}}
|
||||
{{template "base/alert" .}}
|
||||
<div class="col-md-1">
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
{{template "repo/toolbar" .}}
|
||||
<div id="body" class="container">
|
||||
<div id="issue">
|
||||
<form class="form" action="{{.RepoLink}}/issues/milestones/new" method="post" id="issue-create-form">
|
||||
<form class="form" action="{{.RepoLink}}/milestones/new" method="post" id="issue-create-form">
|
||||
{{.CsrfTokenHtml}}
|
||||
{{template "base/alert" .}}
|
||||
<div class="col-md-1">
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
{{template "ng/base/head" .}}
|
||||
{{template "ng/base/header" .}}
|
||||
<div id="repo-wrapper">
|
||||
{{template "repo/header_old" .}}
|
||||
<div class="issue-main container repo-wide-wrapper">
|
||||
<ul id="issue-list-nav" class="menu menu-line">
|
||||
<li class="current"><a href="#">Issue</a></li>
|
||||
<li><a href="#">Pull Request</a></li>
|
||||
<li><a href="#">Labels</a></li>
|
||||
<li><a href="#">Milestones</a></li>
|
||||
<li class="right" id="issue-new"><a href="#"><button id="issue-new-btn" class="btn btn-green text-bold">New Issue</button></a></li>
|
||||
<!--<li class="right"><a href="#">Filter</a></li>-->
|
||||
</ul>
|
||||
<div id="issue-list-container">
|
||||
<div id="issue-list-menu">
|
||||
<div class="left">
|
||||
<span class="mark open hover"><a href="#">
|
||||
<i class="octicon octicon-issue-opened"></i> 88 Open
|
||||
</a></span>
|
||||
<span class="mark close"><a href="">
|
||||
<i class="octicon octicon-issue-closed"></i> 12 Close
|
||||
</a></span>
|
||||
</div>
|
||||
<ul id="issue-list-filter" class="right menu menu-line">
|
||||
<li class="down drop label-filter">
|
||||
<a href="#">Labels</a>
|
||||
<div class="drop-down">
|
||||
<h4>Labels</h4>
|
||||
<ul class="labels list-no-style">
|
||||
<li class="no-label"><strong>no label</strong></li>
|
||||
<li><a href="#"><span class="color"></span><span class="name">bug</span></a></li>
|
||||
<li><a href="#"><span class="color"></span><span class="name">feature</span></a></li>
|
||||
<li><a href="#"><span class="color"></span><span class="name">roadmap</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="down drop milestone-filter">
|
||||
<a href="#">Milestones</a>
|
||||
<div class="drop-down">
|
||||
<h4>Milestones</h4>
|
||||
<ul class="milestones list-no-style">
|
||||
<li class="no-label"><strong>no milestone</strong></li>
|
||||
<li><a href="#">v1</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="down drop assignee-list">
|
||||
<a href="#">Assignee</a>
|
||||
<div class="drop-down">
|
||||
aabbcc
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<ul id="issue-list" class="list-no-style">
|
||||
<li class="item" id="issue-id">
|
||||
<a class="comment" href="#">
|
||||
<i class="octicon octicon-comment"></i> 7
|
||||
</a>
|
||||
<p class="title text-bold">
|
||||
<span class="label label-black index-num">#588</span>
|
||||
<a href="#" class="title-text">Delete account text and/or translations missing</a>
|
||||
<span class="label label-red issue-label"><a href="#">bug</a></span>
|
||||
</p>
|
||||
<p class="desc">opened 7 days ago by <a href="#">marcuspoehls</a></p>
|
||||
</li>
|
||||
<li class="item" id="issue-id2">
|
||||
<a class="comment" href="#">
|
||||
<i class="octicon octicon-comment"></i> 7
|
||||
</a>
|
||||
<p class="title text-bold">
|
||||
<span class="label label-black index-num">#588</span>
|
||||
<a href="#" class="title-text">Delete account text and/or translations missing</a>
|
||||
<span class="label label-red issue-label"><a href="#">bug</a></span>
|
||||
</p>
|
||||
<p class="desc">opened 7 days ago by <a href="#">marcuspoehls</a></p>
|
||||
</li>
|
||||
<li class="item" id="issue-id3">
|
||||
<a class="comment" href="#">
|
||||
<i class="octicon octicon-comment"></i> 7
|
||||
</a>
|
||||
<p class="title text-bold">
|
||||
<span class="label label-black index-num">#588</span>
|
||||
<a href="#" class="title-text">Disabling attachments breaks issues and comments ajax submit</a>
|
||||
<span class="label label-red issue-label"><a href="#">bug</a></span>
|
||||
</p>
|
||||
<p class="desc">opened 7 days ago by <a href="#">marcuspoehls</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
<div id="issue-list-pager" class="pager text-center">
|
||||
<a class="prev invalid" href="#">Prev</a>
|
||||
<a class="page" href="#">1</a>
|
||||
<a class="page hover" href="#">2</a>
|
||||
<a class="page" href="#">3</a>
|
||||
<a class="next" href="#">Next</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{template "ng/base/footer" .}}
|
||||
@@ -12,7 +12,7 @@
|
||||
{{if .IsRepoToolbarIssues}}
|
||||
<li class="tmp">{{if .IsRepoToolbarIssuesList}}
|
||||
<a href="{{.RepoLink}}/issues/new"><button class="btn btn-primary btn-sm">New Issue</button></a>
|
||||
<a href="{{.RepoLink}}/issues/milestones"><button class="btn btn-success btn-sm">Milestones</button></a>
|
||||
<a href="{{.RepoLink}}/milestones"><button class="btn btn-success btn-sm">Milestones</button></a>
|
||||
{{end}}</li>
|
||||
{{end}}
|
||||
<li class="{{if .IsRepoToolbarReleases}}active{{end}}"><a href="{{.RepoLink}}/releases">{{if .Repository.NumTags}}<span class="badge">{{.Repository.NumTags}}</span> {{end}}Releases</a></li>
|
||||
|
||||
Reference in new issue
Block a user