FIX 完善邮箱注册发送邮件功能
This commit is contained in:
parent
2719e60248
commit
4676b756e8
Binary file not shown.
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
@ -70,49 +70,11 @@ class ApplicationController < ActionController::Base
|
||||||
(current_user.professional_certification && (ue.teacher? || ue.professional?))
|
(current_user.professional_certification && (ue.teacher? || ue.professional?))
|
||||||
end
|
end
|
||||||
|
|
||||||
def shixun_marker
|
|
||||||
unless current_user.is_shixun_marker? || current_user.admin_or_business?
|
|
||||||
tip_exception(403, "..")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# 实训的访问权限
|
|
||||||
def shixun_access_allowed
|
|
||||||
if !current_user.shixun_permission(@shixun)
|
|
||||||
tip_exception(403, "..")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def admin_or_business?
|
def admin_or_business?
|
||||||
User.current.admin? || User.current.business?
|
User.current.admin? || User.current.business?
|
||||||
end
|
end
|
||||||
|
|
||||||
# 访问课堂时没权限直接弹加入课堂的弹框 :409
|
|
||||||
def user_course_identity
|
|
||||||
@user_course_identity = current_user.course_identity(@course)
|
|
||||||
if @user_course_identity > Course::STUDENT && @course.is_public == 0
|
|
||||||
tip_exception(401, "..") unless User.current.logged?
|
|
||||||
check_account
|
|
||||||
tip_exception(@course.excellent ? 410 : 409, "您没有权限进入")
|
|
||||||
end
|
|
||||||
if @user_course_identity > Course::CREATOR && @user_course_identity <= Course::STUDENT && @course.tea_id != current_user.id
|
|
||||||
# 实名认证和职业认证的身份判断
|
|
||||||
tip_exception(411, "你的实名认证和职业认证审核未通过") if @course.authentication &&
|
|
||||||
@course.professional_certification && (!current_user.authentication && !current_user.professional_certification)
|
|
||||||
tip_exception(411, "你的实名认证审核未通过") if @course.authentication && !current_user.authentication
|
|
||||||
tip_exception(411, "你的职业认证审核未通过") if @course.professional_certification && !current_user.professional_certification
|
|
||||||
end
|
|
||||||
uid_logger("###############user_course_identity:#{@user_course_identity}")
|
|
||||||
end
|
|
||||||
|
|
||||||
# 题库的访问权限
|
|
||||||
def bank_visit_auth
|
|
||||||
tip_exception(-2,"未通过职业认证") if current_user.is_teacher? && !current_user.certification_teacher? && !current_user.admin_or_business? && @bank.user_id != current_user.id && @bank.is_public
|
|
||||||
tip_exception(403, "无权限") unless @bank.user_id == current_user.id || current_user.admin_or_business? ||
|
|
||||||
(current_user.certification_teacher? && @bank.is_public)
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
# 判断用户的邮箱或者手机是否可用
|
# 判断用户的邮箱或者手机是否可用
|
||||||
# params[:type] 1: 注册;2:忘记密码;3:绑定
|
# params[:type] 1: 注册;2:忘记密码;3:绑定
|
||||||
def check_mail_and_phone_valid login, type
|
def check_mail_and_phone_valid login, type
|
||||||
|
@ -120,16 +82,16 @@ class ApplicationController < ActionController::Base
|
||||||
login =~ /^[a-zA-Z0-9]+([._\\]*[a-zA-Z0-9])$/
|
login =~ /^[a-zA-Z0-9]+([._\\]*[a-zA-Z0-9])$/
|
||||||
tip_exception(-2, "请输入正确的手机号或邮箱")
|
tip_exception(-2, "请输入正确的手机号或邮箱")
|
||||||
end
|
end
|
||||||
# 考虑到安全参数问题,多一次查询,去掉Union
|
|
||||||
user = User.where(phone: login).first || User.where(mail: login).first
|
user_exist = Owner.exists?(phone: login) || Owner.exists?(mail: login)
|
||||||
if type.to_i == 1 && !user.nil?
|
if user_exist && type.to_i == 1
|
||||||
tip_exception(-2, "该手机号码或邮箱已被注册")
|
tip_exception(-2, "该手机号码或邮箱已被注册")
|
||||||
elsif type.to_i == 2 && user.nil?
|
elsif type.to_i == 2 && !user_exist
|
||||||
tip_exception(-2, "该手机号码或邮箱未注册")
|
tip_exception(-2, "该手机号码或邮箱未注册")
|
||||||
elsif type.to_i == 3 && user.present?
|
elsif type.to_i == 3 && user_exist
|
||||||
tip_exception(-2, "该手机号码或邮箱已绑定")
|
tip_exception(-2, "该手机号码或邮箱已绑定")
|
||||||
end
|
end
|
||||||
sucess_status
|
render_ok
|
||||||
end
|
end
|
||||||
|
|
||||||
# 发送及记录激活码
|
# 发送及记录激活码
|
||||||
|
@ -186,26 +148,6 @@ class ApplicationController < ActionController::Base
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_course
|
|
||||||
return normal_status(2, '缺少course_id参数!') if params[:course_id].blank?
|
|
||||||
@course = Course.find(params[:course_id])
|
|
||||||
tip_exception(404, "") if @course.is_delete == 1 && !current_user.admin_or_business?
|
|
||||||
rescue Exception => e
|
|
||||||
tip_exception(e.message)
|
|
||||||
end
|
|
||||||
|
|
||||||
def course_manager
|
|
||||||
return normal_status(403, '只有课堂管理员才有权限') if @user_course_identity > Course::CREATOR
|
|
||||||
end
|
|
||||||
|
|
||||||
def find_board
|
|
||||||
return normal_status(2, "缺少board_id参数") if params[:board_id].blank?
|
|
||||||
@board = Board.find(params[:board_id])
|
|
||||||
rescue Exception => e
|
|
||||||
uid_logger_error(e.message)
|
|
||||||
tip_exception(e.message)
|
|
||||||
end
|
|
||||||
|
|
||||||
def validate_type(object_type)
|
def validate_type(object_type)
|
||||||
normal_status(2, "参数") if params.has_key?(:sort_type) && !SORT_TYPE.include?(params[:sort_type].strip)
|
normal_status(2, "参数") if params.has_key?(:sort_type) && !SORT_TYPE.include?(params[:sort_type].strip)
|
||||||
end
|
end
|
||||||
|
@ -215,21 +157,6 @@ class ApplicationController < ActionController::Base
|
||||||
@page_size = params[:page_size] || 15
|
@page_size = params[:page_size] || 15
|
||||||
end
|
end
|
||||||
|
|
||||||
# 课堂教师权限
|
|
||||||
def teacher_allowed
|
|
||||||
logger.info("#####identity: #{current_user.course_identity(@course)}")
|
|
||||||
unless current_user.course_identity(@course) < Course::STUDENT
|
|
||||||
normal_status(403, "")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# 课堂教师、课堂管理员、超级管理员的权限(不包含助教)
|
|
||||||
def teacher_or_admin_allowed
|
|
||||||
unless current_user.course_identity(@course) < Course::ASSISTANT_PROFESSOR
|
|
||||||
normal_status(403, "")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def require_admin
|
def require_admin
|
||||||
normal_status(403, "") unless User.current.admin?
|
normal_status(403, "") unless User.current.admin?
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,17 +1,10 @@
|
||||||
class UserMailer < ApplicationMailer
|
class UserMailer < ApplicationMailer
|
||||||
# 注意:这个地方一定要和你的邮箱服务域名一致
|
# 注意:这个地方一定要和你的邮箱服务域名一致
|
||||||
default from: 'educoder@trustie.org'
|
default from: 'notification@gitlink.org.cn'
|
||||||
|
|
||||||
# 用户注册验证码
|
# 用户注册验证码
|
||||||
def register_email(mail, code)
|
def register_email(mail, code)
|
||||||
@code = code
|
@code = code
|
||||||
mail(to: mail, subject: '验证你的电子邮件')
|
mail(to: mail, subject: 'GitLink | 注册确实开源邮箱验证')
|
||||||
end
|
|
||||||
|
|
||||||
# 课堂讨论区的邮件通知
|
|
||||||
def course_message_email(mail, message_id)
|
|
||||||
@message = Message.find_by(id: message_id)
|
|
||||||
@course = @message&.board&.course
|
|
||||||
mail(to: mail, subject: '课堂发布了新的帖子') if @message.present? && @course.present?
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>验证码发送</title>
|
<title>GitLink-验证码发送</title>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
/* 验证链接页面 */
|
/* 验证链接页面 */
|
||||||
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{ margin:0; padding:0;}
|
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{ margin:0; padding:0;}
|
||||||
|
@ -27,8 +27,8 @@
|
||||||
<div class="new_content">
|
<div class="new_content">
|
||||||
<div style="width: 598px; background:#fff; margin:20px auto; font-size:14px; ">
|
<div style="width: 598px; background:#fff; margin:20px auto; font-size:14px; ">
|
||||||
<div style="height:50px; width: 578px; background:#46484c; padding:9px 10px 6px;border:1px solid #ddd; border-bottom:none;">
|
<div style="height:50px; width: 578px; background:#46484c; padding:9px 10px 6px;border:1px solid #ddd; border-bottom:none;">
|
||||||
<a href="https://www.educoder.net">
|
<a href="https://www.gitlink.org.cn">
|
||||||
<img src="https://www.educoder.net/images/educoder/headNavLogo.png" width="36" style="float:left; margin-top: 8px;" >
|
<%= image_tag("logo.png", alt: "确实开源", width: '100', :style => "float:left; margin-top: 8px;") %>
|
||||||
</a>
|
</a>
|
||||||
<div style="clear:both; overflow:hidden;"></div>
|
<div style="clear:both; overflow:hidden;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
您好!
|
您好!
|
||||||
</p>
|
</p>
|
||||||
<p style="color:#333;">
|
<p style="color:#333;">
|
||||||
您正在注册Educoder,请在10分钟内在注册页输入此验证码,并进行下一步操作。
|
您正在注册GitLink,请在10分钟内在注册页输入此验证码,并进行下一步操作。
|
||||||
如非你本人操作,请忽略此邮件。
|
如非你本人操作,请忽略此邮件。
|
||||||
</p>
|
</p>
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
</div>
|
</div>
|
||||||
<span style="font-weight: normal;color:#666;">
|
<span style="font-weight: normal;color:#666;">
|
||||||
此邮件为系统所发,请勿直接回复。<br/>
|
此邮件为系统所发,请勿直接回复。<br/>
|
||||||
要解决问题或了解您的帐户详情,您可以访问 <a href="https://www.educoder.net/help?index=5" style="font-weight: normal; color:#ff7500;">帮助中心</a>。
|
要解决问题或了解您的帐户详情,您可以访问 <a href="https:///www.gitlink.org.cn/forums/1168/detail" style="font-weight: normal; color:#ff7500;">帮助中心</a>。
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<p style="color:#666; margin-top:30px;">
|
<p style="color:#666; margin-top:30px;">
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding:20px; color:#333; line-height: 1.9;background:#46484c;border:1px solid #ddd; border-top:none; width: 558px;">
|
<div style="padding:20px; color:#333; line-height: 1.9;background:#46484c;border:1px solid #ddd; border-top:none; width: 558px;">
|
||||||
<a href="https:///www.educoder.net/" style="font-weight: normal; color:#fff;">www.educoder.net</a>
|
<a href="https:///www.gitlink.org.cn" style="font-weight: normal; color:#fff;">www.gitlink.org.cn</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue