diff --git a/app/controllers/concerns/register_helper.rb b/app/controllers/concerns/register_helper.rb index d77a33584..9d2f420a0 100644 --- a/app/controllers/concerns/register_helper.rb +++ b/app/controllers/concerns/register_helper.rb @@ -31,7 +31,7 @@ module RegisterHelper result end - def autosync_register_trustie(username, password, email) + def autosync_register_trustie(username, password, email, lastname="") config = Rails.application.config_for(:configuration).symbolize_keys! api_host = config[:sync_url] @@ -42,8 +42,9 @@ module RegisterHelper sync_json = { "mail": email, "password": password, - "login": username - } + "login": username, + "lastname": lastname + }.compact uri = URI.parse(url) if api_host diff --git a/app/controllers/oauth_controller.rb b/app/controllers/oauth_controller.rb index 5da9297a6..cf43dbe6f 100644 --- a/app/controllers/oauth_controller.rb +++ b/app/controllers/oauth_controller.rb @@ -61,6 +61,7 @@ class OauthController < ApplicationController login = params[:login] email = params[:mail] password = params[:password] + lastname = params[:lastname] callback_url = params[:callback_url] platform = params[:plathform] || 'educoder' @@ -72,7 +73,9 @@ class OauthController < ApplicationController if result[:message].blank? logger.info "[Oauth educoer] ====auto_register success" user = User.find result[:user][:id] + user.update_column(:lastname, params[:lastname]) successful_authentication(user) + autosync_register_trustie(login, password, email, lastname) OpenUsers::Educoder.create!(user: user, uid: user.login) render json: { callback_url: callback_url } diff --git a/app/views/oauth/register.html.erb b/app/views/oauth/register.html.erb index 96778fa06..391f04661 100644 --- a/app/views/oauth/register.html.erb +++ b/app/views/oauth/register.html.erb @@ -5,10 +5,15 @@ <%= form_tag('', method: :post, id: 'oauth_form', class: 'form-inline search-form flex-1', remote: true) do %> <%= hidden_field_tag 'callback_url', params[:callback_url] %>
- 用户名: - <%= text_field_tag :login, params[:login], placeholder: '请输入用户名', readonly: true, id: 'login' %> + 登录名: + <%= text_field_tag :login, params[:login], placeholder: '请输入登录名', readonly: true, id: 'login' %>

+
+ 用户名称: + <%= text_field_tag :lastname, params[:lastname], placeholder: '登录平台后显示的用户名称', readonly: true, id: 'lastname' %> +

+
邮箱: <%= text_field_tag :mail, params[:mail], placeholder: '请输入绑定邮箱', maxlength: 40, id: 'email' %> @@ -16,7 +21,7 @@
密码: - <%= password_field_tag :password, '', placeholder: '请输入账号密码', id: 'password' %> + <%= password_field_tag :password, '', placeholder: '输入EduCoder账号密码或新的密码', id: 'password' %>

@@ -29,6 +34,7 @@ function submitdata(){ var login = $("#login").val(); var email = $("#email").val(); + var lastname = $("#lastname").val(); var password = $("#password").val(); if(!login){ @@ -37,6 +43,12 @@ }else{ $(".loginCheck span").html(""); } + if(!lastname){ + $(".lastnameCheck span").html("请输入用户名称"); + return; + }else{ + $(".lastnameCheck span").html(""); + } if(!email){ $(".emailCheck span").html("请输入绑定的邮箱"); return;