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] %>
+