diff options
author | Unknown <joe2010xtmf@163.com> | 2014-05-05 04:27:28 -0400 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-05-05 04:27:28 -0400 |
commit | 02687cbdf37be3c89005abe45c7d1f6240e339e0 (patch) | |
tree | a054383b5bfbaf64fc09d1fdc03d491640b25f6b /routers/repo | |
parent | 07c3d497a7cffe12f4dae828dc8bd82980595b3c (diff) | |
download | gitea-02687cbdf37be3c89005abe45c7d1f6240e339e0.tar.gz gitea-02687cbdf37be3c89005abe45c7d1f6240e339e0.zip |
Add mail notify for new collaborator
Diffstat (limited to 'routers/repo')
-rw-r--r-- | routers/repo/issue.go | 4 | ||||
-rw-r--r-- | routers/repo/setting.go | 23 |
2 files changed, 18 insertions, 9 deletions
diff --git a/routers/repo/issue.go b/routers/repo/issue.go index e761d9a2e9..4e2076620d 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -132,8 +132,8 @@ func CreateIssuePost(ctx *middleware.Context, params martini.Params, form auth.C newTos = append(newTos, m[1:]) } - if err = mailer.SendIssueMentionMail(ctx.User, ctx.Repo.Owner, ctx.Repo.Repository, - issue, models.GetUserEmailsByNames(newTos)); err != nil { + if err = mailer.SendIssueMentionMail(ctx.Render, ctx.User, ctx.Repo.Owner, + ctx.Repo.Repository, issue, models.GetUserEmailsByNames(newTos)); err != nil { ctx.Handle(500, "issue.CreateIssue(SendIssueMentionMail)", err) return } diff --git a/routers/repo/setting.go b/routers/repo/setting.go index aee3fe3a1d..79d5f175da 100644 --- a/routers/repo/setting.go +++ b/routers/repo/setting.go @@ -13,6 +13,7 @@ import ( "github.com/gogits/gogs/models" "github.com/gogits/gogs/modules/base" "github.com/gogits/gogs/modules/log" + "github.com/gogits/gogs/modules/mailer" "github.com/gogits/gogs/modules/middleware" ) @@ -185,22 +186,30 @@ func CollaborationPost(ctx *middleware.Context) { return } - isExist, err := models.IsUserExist(name) + u, err := models.GetUserByName(name) if err != nil { - ctx.Handle(500, "repo.CollaborationPost(IsUserExist)", err) - return - } else if !isExist { - ctx.Flash.Error("Given user does not exist.") - ctx.Redirect(ctx.Req.RequestURI) + if err == models.ErrUserNotExist { + ctx.Flash.Error("Given user does not exist.") + ctx.Redirect(ctx.Req.RequestURI) + } else { + ctx.Handle(500, "repo.CollaborationPost(GetUserByName)", err) + } return } - if err := models.AddAccess(&models.Access{UserName: name, RepoName: repoLink, + if err = models.AddAccess(&models.Access{UserName: name, RepoName: repoLink, Mode: models.AU_WRITABLE}); err != nil { ctx.Handle(500, "repo.CollaborationPost(AddAccess)", err) return } + if base.Service.NotifyMail { + if err = mailer.SendCollaboratorMail(ctx.Render, u, ctx.User, ctx.Repo.Repository); err != nil { + ctx.Handle(500, "repo.CollaborationPost(SendCollaboratorMail)", err) + return + } + } + ctx.Flash.Success("New collaborator has been added.") ctx.Redirect(ctx.Req.RequestURI) } |