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/setting.go | |
parent | 07c3d497a7cffe12f4dae828dc8bd82980595b3c (diff) | |
download | gitea-02687cbdf37be3c89005abe45c7d1f6240e339e0.tar.gz gitea-02687cbdf37be3c89005abe45c7d1f6240e339e0.zip |
Add mail notify for new collaborator
Diffstat (limited to 'routers/repo/setting.go')
-rw-r--r-- | routers/repo/setting.go | 23 |
1 files changed, 16 insertions, 7 deletions
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) } |