summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2015-08-06 23:25:35 +0800
committerUnknwon <u@gogs.io>2015-08-06 23:25:35 +0800
commit9d414d4dd905840911874b879c28cb8178f6f56e (patch)
tree74813012b2bb9bee00119edda09118353af143b7
parent952c480f4f4bedfaa8089ffb45311d63d0ab3fb4 (diff)
downloadgitea-9d414d4dd905840911874b879c28cb8178f6f56e.tar.gz
gitea-9d414d4dd905840911874b879c28cb8178f6f56e.zip
remove Index field of milestone
-rw-r--r--cmd/web.go6
-rw-r--r--models/error.go5
-rw-r--r--models/issue.go38
-rw-r--r--routers/repo/issue.go21
-rw-r--r--templates/repo/issue/milestones.tmpl6
5 files changed, 29 insertions, 47 deletions
diff --git a/cmd/web.go b/cmd/web.go
index 80b4feac14..9e35698a4d 100644
--- a/cmd/web.go
+++ b/cmd/web.go
@@ -435,9 +435,9 @@ func runWeb(ctx *cli.Context) {
m.Group("/milestones", func() {
m.Get("/new", repo.NewMilestone)
m.Post("/new", bindIgnErr(auth.CreateMilestoneForm{}), repo.NewMilestonePost)
- m.Get("/:index/edit", repo.EditMilestone)
- m.Post("/:index/edit", bindIgnErr(auth.CreateMilestoneForm{}), repo.EditMilestonePost)
- m.Get("/:index/:action", repo.ChangeMilestonStatus)
+ m.Get("/:id/edit", repo.EditMilestone)
+ m.Post("/:id/edit", bindIgnErr(auth.CreateMilestoneForm{}), repo.EditMilestonePost)
+ m.Get("/:id/:action", repo.ChangeMilestonStatus)
m.Post("/delete", repo.DeleteMilestone)
}, reqRepoAdmin)
diff --git a/models/error.go b/models/error.go
index 7851e19407..e52d9b16d9 100644
--- a/models/error.go
+++ b/models/error.go
@@ -233,8 +233,7 @@ func (err ErrRepoNotExist) Error() string {
// \/ \/ \/ \/ \/
type ErrMilestoneNotExist struct {
- ID int64
- Index int64
+ ID int64
}
func IsErrMilestoneNotExist(err error) bool {
@@ -243,5 +242,5 @@ func IsErrMilestoneNotExist(err error) bool {
}
func (err ErrMilestoneNotExist) Error() string {
- return fmt.Sprintf("milestone does not exist [id: %d, index: %d]", err.ID, err.Index)
+ return fmt.Sprintf("milestone does not exist [id: %d]", err.ID)
}
diff --git a/models/issue.go b/models/issue.go
index a80a984912..cff69ff171 100644
--- a/models/issue.go
+++ b/models/issue.go
@@ -60,7 +60,7 @@ func (i *Issue) AfterSet(colName string, _ xorm.Cell) {
var err error
switch colName {
case "milestone_id":
- i.Milestone, err = GetMilestoneById(i.MilestoneID)
+ i.Milestone, err = GetMilestoneByID(i.MilestoneID)
if err != nil {
log.Error(3, "GetMilestoneById: %v", err)
}
@@ -644,7 +644,6 @@ func DeleteLabel(repoID, labelID int64) error {
type Milestone struct {
ID int64 `xorm:"pk autoincr"`
RepoID int64 `xorm:"INDEX"`
- Index int64
Name string
Content string `xorm:"TEXT"`
RenderedContent string `xorm:"-"`
@@ -680,44 +679,30 @@ func (m *Milestone) CalOpenIssues() {
// NewMilestone creates new milestone of repository.
func NewMilestone(m *Milestone) (err error) {
sess := x.NewSession()
- defer sess.Close()
+ defer sessionRelease(sess)
if err = sess.Begin(); err != nil {
return err
}
+ m.Deadline = m.Deadline.Local()
if _, err = sess.Insert(m); err != nil {
- sess.Rollback()
return err
}
- rawSql := "UPDATE `repository` SET num_milestones = num_milestones + 1 WHERE id = ?"
- if _, err = sess.Exec(rawSql, m.RepoID); err != nil {
- sess.Rollback()
+ if _, err = sess.Exec("UPDATE `repository` SET num_milestones=num_milestones+1 WHERE id=?", m.RepoID); err != nil {
return err
}
return sess.Commit()
}
-// GetMilestoneById returns the milestone by given ID.
-func GetMilestoneById(id int64) (*Milestone, error) {
+// GetMilestoneByID returns the milestone of given ID.
+func GetMilestoneByID(id int64) (*Milestone, error) {
m := &Milestone{ID: id}
has, err := x.Get(m)
if err != nil {
return nil, err
} else if !has {
- return nil, ErrMilestoneNotExist{id, 0}
- }
- return m, nil
-}
-
-// GetMilestoneByIndex returns the milestone of given repository and index.
-func GetMilestoneByIndex(repoId, idx int64) (*Milestone, error) {
- m := &Milestone{RepoID: repoId, Index: idx}
- has, err := x.Get(m)
- if err != nil {
- return nil, err
- } else if !has {
- return nil, ErrMilestoneNotExist{0, idx}
+ return nil, ErrMilestoneNotExist{id}
}
return m, nil
}
@@ -736,7 +721,6 @@ func GetMilestones(repoID int64, page int, isClosed bool) ([]*Milestone, error)
sess = sess.Limit(setting.IssuePagingNum, (page-1)*setting.IssuePagingNum)
}
return miles, sess.Find(&miles)
-
}
func updateMilestone(e Engine, m *Milestone) error {
@@ -808,7 +792,7 @@ func ChangeMilestoneIssueStats(issue *Issue) error {
return nil
}
- m, err := GetMilestoneById(issue.MilestoneID)
+ m, err := GetMilestoneByID(issue.MilestoneID)
if err != nil {
return err
}
@@ -835,7 +819,7 @@ func ChangeMilestoneAssign(oldMid, mid int64, issue *Issue) (err error) {
}
if oldMid > 0 {
- m, err := GetMilestoneById(oldMid)
+ m, err := GetMilestoneByID(oldMid)
if err != nil {
return err
}
@@ -863,7 +847,7 @@ func ChangeMilestoneAssign(oldMid, mid int64, issue *Issue) (err error) {
}
if mid > 0 {
- m, err := GetMilestoneById(mid)
+ m, err := GetMilestoneByID(mid)
if err != nil {
return err
}
@@ -895,7 +879,7 @@ func ChangeMilestoneAssign(oldMid, mid int64, issue *Issue) (err error) {
// DeleteMilestoneByID deletes a milestone by given ID.
func DeleteMilestoneByID(mid int64) error {
- m, err := GetMilestoneById(mid)
+ m, err := GetMilestoneByID(mid)
if err != nil {
if IsErrMilestoneNotExist(err) {
return nil
diff --git a/routers/repo/issue.go b/routers/repo/issue.go
index 42b0e1856b..9d59d19a5f 100644
--- a/routers/repo/issue.go
+++ b/routers/repo/issue.go
@@ -382,7 +382,7 @@ func ViewIssue(ctx *middleware.Context) {
// Get assigned milestone.
if issue.MilestoneID > 0 {
- ctx.Data["Milestone"], err = models.GetMilestoneById(issue.MilestoneID)
+ ctx.Data["Milestone"], err = models.GetMilestoneByID(issue.MilestoneID)
if err != nil {
if models.IsErrMilestoneNotExist(err) {
log.Warn("GetMilestoneById: %v", err)
@@ -1044,7 +1044,6 @@ func NewMilestonePost(ctx *middleware.Context, form auth.CreateMilestoneForm) {
if err = models.NewMilestone(&models.Milestone{
RepoID: ctx.Repo.Repository.Id,
- Index: int64(ctx.Repo.Repository.NumMilestones) + 1,
Name: form.Title,
Content: form.Content,
Deadline: deadline,
@@ -1063,12 +1062,12 @@ func EditMilestone(ctx *middleware.Context) {
ctx.Data["PageIsEditMilestone"] = true
ctx.Data["DateLang"] = setting.DateLang(ctx.Locale.Language())
- m, err := models.GetMilestoneByIndex(ctx.Repo.Repository.Id, ctx.ParamsInt64(":index"))
+ m, err := models.GetMilestoneByID(ctx.ParamsInt64(":id"))
if err != nil {
if models.IsErrMilestoneNotExist(err) {
- ctx.Handle(404, "GetMilestoneByIndex", nil)
+ ctx.Handle(404, "GetMilestoneByID", nil)
} else {
- ctx.Handle(500, "GetMilestoneByIndex", err)
+ ctx.Handle(500, "GetMilestoneByID", err)
}
return
}
@@ -1101,12 +1100,12 @@ func EditMilestonePost(ctx *middleware.Context, form auth.CreateMilestoneForm) {
return
}
- m, err := models.GetMilestoneByIndex(ctx.Repo.Repository.Id, ctx.ParamsInt64(":index"))
+ m, err := models.GetMilestoneByID(ctx.ParamsInt64(":id"))
if err != nil {
if models.IsErrMilestoneNotExist(err) {
- ctx.Handle(404, "GetMilestoneByIndex", nil)
+ ctx.Handle(404, "GetMilestoneByID", nil)
} else {
- ctx.Handle(500, "GetMilestoneByIndex", err)
+ ctx.Handle(500, "GetMilestoneByID", err)
}
return
}
@@ -1123,12 +1122,12 @@ func EditMilestonePost(ctx *middleware.Context, form auth.CreateMilestoneForm) {
}
func ChangeMilestonStatus(ctx *middleware.Context) {
- m, err := models.GetMilestoneByIndex(ctx.Repo.Repository.Id, ctx.ParamsInt64(":index"))
+ m, err := models.GetMilestoneByID(ctx.ParamsInt64(":id"))
if err != nil {
if models.IsErrMilestoneNotExist(err) {
- ctx.Handle(404, "GetMilestoneByIndex", err)
+ ctx.Handle(404, "GetMilestoneByID", err)
} else {
- ctx.Handle(500, "GetMilestoneByIndex", err)
+ ctx.Handle(500, "GetMilestoneByID", err)
}
return
}
diff --git a/templates/repo/issue/milestones.tmpl b/templates/repo/issue/milestones.tmpl
index 46ba29d88d..b9b159ea57 100644
--- a/templates/repo/issue/milestones.tmpl
+++ b/templates/repo/issue/milestones.tmpl
@@ -54,11 +54,11 @@
</div>
{{if $.IsRepositoryAdmin}}
<div class="ui right operate">
- <a href="{{$.Link}}/{{.Index}}/edit" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a>
+ <a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a>
{{if .IsClosed}}
- <a href="{{$.Link}}/{{.Index}}/open" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-check"></i> {{$.i18n.Tr "repo.milestones.open"}}</a>
+ <a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-check"></i> {{$.i18n.Tr "repo.milestones.open"}}</a>
{{else}}
- <a href="{{$.Link}}/{{.Index}}/close" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-x"></i> {{$.i18n.Tr "repo.milestones.close"}}</a>
+ <a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-x"></i> {{$.i18n.Tr "repo.milestones.close"}}</a>
{{end}}
<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}"><i class="octicon octicon-trashcan"></i> {{$.i18n.Tr "repo.issues.label_delete"}}</a>
</div>