mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 01:34:27 +00:00 
			
		
		
		
	#3274 fix can't get webhook detail of organization
This commit is contained in:
		@@ -174,8 +174,8 @@ func CreateWebhook(w *Webhook) error {
 | 
				
			|||||||
	return err
 | 
						return err
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetWebhookByID returns webhook of repository by given ID.
 | 
					// GetWebhookByRepoID returns webhook of repository by given ID.
 | 
				
			||||||
func GetWebhookByID(repoID, id int64) (*Webhook, error) {
 | 
					func GetWebhookByRepoID(repoID, id int64) (*Webhook, error) {
 | 
				
			||||||
	w := new(Webhook)
 | 
						w := new(Webhook)
 | 
				
			||||||
	has, err := x.Id(id).And("repo_id=?", repoID).Get(w)
 | 
						has, err := x.Id(id).And("repo_id=?", repoID).Get(w)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@@ -186,6 +186,18 @@ func GetWebhookByID(repoID, id int64) (*Webhook, error) {
 | 
				
			|||||||
	return w, nil
 | 
						return w, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// GetWebhookByOrgID returns webhook of organization by given ID.
 | 
				
			||||||
 | 
					func GetWebhookByOrgID(orgID, id int64) (*Webhook, error) {
 | 
				
			||||||
 | 
						w := new(Webhook)
 | 
				
			||||||
 | 
						has, err := x.Id(id).And("org_id=?", orgID).Get(w)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						} else if !has {
 | 
				
			||||||
 | 
							return nil, ErrWebhookNotExist{id}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return w, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetActiveWebhooksByRepoID returns all active webhooks of repository.
 | 
					// GetActiveWebhooksByRepoID returns all active webhooks of repository.
 | 
				
			||||||
func GetActiveWebhooksByRepoID(repoID int64) (ws []*Webhook, err error) {
 | 
					func GetActiveWebhooksByRepoID(repoID int64) (ws []*Webhook, err error) {
 | 
				
			||||||
	err = x.Where("repo_id=?", repoID).And("is_active=?", true).Find(&ws)
 | 
						err = x.Where("repo_id=?", repoID).And("is_active=?", true).Find(&ws)
 | 
				
			||||||
@@ -221,8 +233,8 @@ func DeleteWebhook(id int64) (err error) {
 | 
				
			|||||||
	return sess.Commit()
 | 
						return sess.Commit()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetWebhooksByOrgId returns all webhooks for an organization.
 | 
					// GetWebhooksByOrgID returns all webhooks for an organization.
 | 
				
			||||||
func GetWebhooksByOrgId(orgID int64) (ws []*Webhook, err error) {
 | 
					func GetWebhooksByOrgID(orgID int64) (ws []*Webhook, err error) {
 | 
				
			||||||
	err = x.Find(&ws, &Webhook{OrgID: orgID})
 | 
						err = x.Find(&ws, &Webhook{OrgID: orgID})
 | 
				
			||||||
	return ws, err
 | 
						return ws, err
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -548,7 +560,7 @@ func (t *HookTask) deliver() {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Update webhook last delivery status.
 | 
							// Update webhook last delivery status.
 | 
				
			||||||
		w, err := GetWebhookByID(t.RepoID, t.HookID)
 | 
							w, err := GetWebhookByRepoID(t.RepoID, t.HookID)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			log.Error(5, "GetWebhookByID: %v", err)
 | 
								log.Error(5, "GetWebhookByID: %v", err)
 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -98,7 +98,7 @@ func CreateHook(ctx *context.APIContext, form api.CreateHookOption) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// https://github.com/gogits/go-gogs-client/wiki/Repositories#edit-a-hook
 | 
					// https://github.com/gogits/go-gogs-client/wiki/Repositories#edit-a-hook
 | 
				
			||||||
func EditHook(ctx *context.APIContext, form api.EditHookOption) {
 | 
					func EditHook(ctx *context.APIContext, form api.EditHookOption) {
 | 
				
			||||||
	w, err := models.GetWebhookByID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id"))
 | 
						w, err := models.GetWebhookByRepoID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id"))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		if models.IsErrWebhookNotExist(err) {
 | 
							if models.IsErrWebhookNotExist(err) {
 | 
				
			||||||
			ctx.Status(404)
 | 
								ctx.Status(404)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -154,7 +154,7 @@ func Webhooks(ctx *context.Context) {
 | 
				
			|||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ws, err := models.GetWebhooksByOrgId(ctx.Org.Organization.Id)
 | 
						ws, err := models.GetWebhooksByOrgID(ctx.Org.Organization.Id)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		ctx.Handle(500, "GetWebhooksByOrgId", err)
 | 
							ctx.Handle(500, "GetWebhooksByOrgId", err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -220,7 +220,12 @@ func checkWebhook(ctx *context.Context) (*OrgRepoCtx, *models.Webhook) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	ctx.Data["BaseLink"] = orCtx.Link
 | 
						ctx.Data["BaseLink"] = orCtx.Link
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	w, err := models.GetWebhookByID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id"))
 | 
						var w *models.Webhook
 | 
				
			||||||
 | 
						if orCtx.RepoID > 0 {
 | 
				
			||||||
 | 
							w, err = models.GetWebhookByRepoID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id"))
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							w, err = models.GetWebhookByOrgID(ctx.Org.Organization.Id, ctx.ParamsInt64(":id"))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		if models.IsErrWebhookNotExist(err) {
 | 
							if models.IsErrWebhookNotExist(err) {
 | 
				
			||||||
			ctx.Handle(404, "GetWebhookByID", nil)
 | 
								ctx.Handle(404, "GetWebhookByID", nil)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
		<div class="ui secondary menu">
 | 
							<div class="ui secondary menu">
 | 
				
			||||||
			{{if .PullRequestCtx.Allowed}}
 | 
								{{if .PullRequestCtx.Allowed}}
 | 
				
			||||||
				<div class="fitted item">
 | 
									<div class="fitted item">
 | 
				
			||||||
					<a href="{{.BaseRepo.RepoLink}}/compare/{{.BaseRepo.DefaultBranch}}...{{.PullRequestCtx.HeadInfo}}">
 | 
										<a href="{{.BaseRepo.Link}}/compare/{{.BaseRepo.DefaultBranch}}...{{.PullRequestCtx.HeadInfo}}">
 | 
				
			||||||
						<button class="ui green small button"><i class="octicon octicon-git-compare"></i></button>
 | 
											<button class="ui green small button"><i class="octicon octicon-git-compare"></i></button>
 | 
				
			||||||
					</a>
 | 
										</a>
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user