Skip to content

Commit

Permalink
fixed vulnerabilities labels (#409)
Browse files Browse the repository at this point in the history
  • Loading branch information
lunny authored Dec 17, 2016
1 parent 44428fd commit 7c46667
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion models/issue.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,20 @@ func (issue *Issue) AfterSet(colName string, _ xorm.Cell) {
}
}

func (issue *Issue) loadAttributes(e Engine) (err error) {
func (issue *Issue) loadRepo(e Engine) (err error) {
if issue.Repo == nil {
issue.Repo, err = getRepositoryByID(e, issue.RepoID)
if err != nil {
return fmt.Errorf("getRepositoryByID [%d]: %v", issue.RepoID, err)
}
}
return nil
}

func (issue *Issue) loadAttributes(e Engine) (err error) {
if err := issue.loadRepo(e); err != nil {
return err
}

if issue.Poster == nil {
issue.Poster, err = getUserByID(e, issue.PosterID)
Expand Down Expand Up @@ -322,6 +329,16 @@ func (issue *Issue) removeLabel(e *xorm.Session, label *Label) error {

// RemoveLabel removes a label from issue by given ID.
func (issue *Issue) RemoveLabel(doer *User, label *Label) error {
if err := issue.loadRepo(x); err != nil {
return err
}

if has, err := HasAccess(doer, issue.Repo, AccessModeWrite); err != nil {
return err
} else if !has {
return ErrLabelNotExist{}
}

if err := DeleteIssueLabel(issue, label); err != nil {
return err
}
Expand Down Expand Up @@ -353,6 +370,16 @@ func (issue *Issue) ClearLabels(doer *User) (err error) {
return err
}

if err := issue.loadRepo(sess); err != nil {
return err
}

if has, err := hasAccess(sess, doer, issue.Repo, AccessModeWrite); err != nil {
return err
} else if !has {
return ErrLabelNotExist{}
}

if err = issue.clearLabels(sess); err != nil {
return err
}
Expand Down

0 comments on commit 7c46667

Please sign in to comment.