Skip to content

Commit bd272e4

Browse files
authored
move invite by mail to services package (#21513)
followup #20307 close #21511 -> make it easy to also add API equivalent later ...
1 parent fe442db commit bd272e4

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

routers/web/org/teams.go

+1-6
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import (
2727
"code.gitea.io/gitea/modules/web"
2828
"code.gitea.io/gitea/routers/utils"
2929
"code.gitea.io/gitea/services/forms"
30-
"code.gitea.io/gitea/services/mailer"
3130
org_service "code.gitea.io/gitea/services/org"
3231
)
3332

@@ -132,8 +131,7 @@ func TeamsAction(ctx *context.Context) {
132131
if err != nil {
133132
if user_model.IsErrUserNotExist(err) {
134133
if setting.MailService != nil && user_model.ValidateEmail(uname) == nil {
135-
invite, err := org_model.CreateTeamInvite(ctx, ctx.Doer, ctx.Org.Team, uname)
136-
if err != nil {
134+
if err := org_service.CreateTeamInvite(ctx, ctx.Doer, ctx.Org.Team, uname); err != nil {
137135
if org_model.IsErrTeamInviteAlreadyExist(err) {
138136
ctx.Flash.Error(ctx.Tr("form.duplicate_invite_to_team"))
139137
} else if org_model.IsErrUserEmailAlreadyAdded(err) {
@@ -142,9 +140,6 @@ func TeamsAction(ctx *context.Context) {
142140
ctx.ServerError("CreateTeamInvite", err)
143141
return
144142
}
145-
} else if err := mailer.MailTeamInvite(ctx, ctx.Doer, ctx.Org.Team, invite); err != nil {
146-
ctx.ServerError("MailTeamInvite", err)
147-
return
148143
}
149144
} else {
150145
ctx.Flash.Error(ctx.Tr("form.user_not_exist"))

services/org/team_invite.go

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Copyright 2022 The Gitea Authors. All rights reserved.
2+
// Use of this source code is governed by a MIT-style
3+
// license that can be found in the LICENSE file.
4+
5+
package org
6+
7+
import (
8+
"context"
9+
10+
org_model "code.gitea.io/gitea/models/organization"
11+
user_model "code.gitea.io/gitea/models/user"
12+
"code.gitea.io/gitea/services/mailer"
13+
)
14+
15+
// CreateTeamInvite make a persistent invite in db and mail it
16+
func CreateTeamInvite(ctx context.Context, inviter *user_model.User, team *org_model.Team, uname string) error {
17+
invite, err := org_model.CreateTeamInvite(ctx, inviter, team, uname)
18+
if err != nil {
19+
return err
20+
}
21+
22+
return mailer.MailTeamInvite(ctx, inviter, team, invite)
23+
}

0 commit comments

Comments
 (0)