remove Index field of milestone
This commit is contained in:
		
							parent
							
								
									952c480f4f
								
							
						
					
					
						commit
						9d414d4dd9
					
				| @ -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) | ||||
| 
 | ||||
|  | ||||
| @ -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) | ||||
| } | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
| @ -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 | ||||
| 	} | ||||
|  | ||||
| @ -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> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user