|
|
|
@ -363,8 +363,20 @@ class ProjectsController < ApplicationController
|
|
|
|
|
# 该邮箱未注册过
|
|
|
|
|
if !params[:mail].blank? && User.find_by_mail(params[:mail].to_s).nil?
|
|
|
|
|
if !User.where("login =?", params[:mail]).first.nil?
|
|
|
|
|
# 用户名唯一,如果该邮箱被用户作为用户名使用则跳出
|
|
|
|
|
flash[:error] = l(:notice_email_login_used)
|
|
|
|
|
# 用户名唯一,用户修改邮箱,未修改用户名,用户名等同邮箱的情况,默认改用户已经注册
|
|
|
|
|
user = User.find_by_login(params[:mail].to_s)
|
|
|
|
|
if !user.member_of?(@project)
|
|
|
|
|
# 如果已经邀请过该用户,则不重复发送
|
|
|
|
|
if InviteList.where("project_id =? and mail =?", @project.id, params[:mail].to_s).first.nil?
|
|
|
|
|
email = params[:mail]
|
|
|
|
|
Mailer.request_member_to_project(email, @project, User.current).deliver
|
|
|
|
|
flash[:notice] = l(:notice_email_sent, :value => email)
|
|
|
|
|
else
|
|
|
|
|
flash[:error] = l(:notice_email_invited)
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
flash[:error] = l(:label_member_of_project, :value => email)
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
email = params[:mail]
|
|
|
|
|
Mailer.send_invite_in_project(email, @project, User.current).deliver
|
|
|
|
|