| @@ -52,7 +52,6 @@ class AccountsController < ApplicationController | |||
| u.login = user_params["login"] if user_params["login"] | |||
| u.mail = user_params["mail"] if user_params["mail"] | |||
| u.lastname = user_params["lastname"] if user_params["lastname"] | |||
| u.password = user_params["password"] if user_params["password"] | |||
| ue.gender = user_extension_params["gender"] | |||
| ue.school_id = user_extension_params["school_id"] | |||
| @@ -96,6 +95,17 @@ class AccountsController < ApplicationController | |||
| end | |||
| end | |||
| #修改密码 | |||
| def remote_password | |||
| @user = User.find_by(login: params[:login]) | |||
| if @user && @user.update_attribute(:password, params[:password]) | |||
| render_ok({}) | |||
| else | |||
| render_error("更新失败") | |||
| end | |||
| end | |||
| # 用户注册 | |||
| @@ -253,6 +263,7 @@ class AccountsController < ApplicationController | |||
| # end | |||
| def logout | |||
| Rails.logger.info("########___logout_current_user____________########{current_user.try(:id)}") | |||
| UserAction.create(action_id: User.current.id, action_type: "Logout", user_id: User.current.id, :ip => request.remote_ip) | |||
| logout_user | |||
| render :json => {status: 1, message: "退出成功!"} | |||
| @@ -44,21 +44,16 @@ module LoginHelper | |||
| end | |||
| def logout_user | |||
| Rails.logger.info("####################__11111______######") | |||
| Rails.logger.info("####################__User.current_id______######{current_user.try(:id)}###___#{current_user&.logged?}") | |||
| if User.current.logged? | |||
| Rails.logger.info("####################__2222_______######") | |||
| if autologin = cookies.delete(autologin_cookie_name) | |||
| Rails.logger.info("####################__33333______######") | |||
| User.current.delete_autologin_token(autologin) | |||
| end | |||
| Rails.logger.info("####################__4444444______######") | |||
| User.current.delete_session_token(session[:tk]) | |||
| self.logged_user = nil | |||
| end | |||
| Rails.logger.info("####################__55555______######") | |||
| # 云上实验室退出清理当前session | |||
| laboratory ||= (Laboratory.find_by_subdomain(request.subdomain) || Laboratory.find(1)) | |||
| @@ -111,7 +111,7 @@ class PullRequestsController < ApplicationController | |||
| if pull_issue.save! | |||
| local_requests = PullRequest.new(local_params.merge(user_id: current_user.try(:id), project_id: @project.id, issue_id: pull_issue.id)) | |||
| if local_requests.save | |||
| gitea_request = Gitea::PullRequest::CreateService.new(current_user, @repository.try(:identifier), requests_params).call | |||
| gitea_request = Gitea::PullRequest::CreateService.new(current_user.try(:gitea_token), @project.owner, @repository.try(:identifier), requests_params).call | |||
| if gitea_request && local_requests.update_attributes(gpid: gitea_request["number"]) | |||
| if params[:issue_tag_ids].present? | |||
| params[:issue_tag_ids].each do |tag| | |||
| @@ -90,7 +90,7 @@ class RepositoriesController < ApplicationController | |||
| if pull_issue.save! | |||
| local_requests = PullRequest.new(local_params.merge(user_id: current_user.try(:id), project_id: @project.id, issue_id: pull_issue.id)) | |||
| if local_requests.save | |||
| gitea_request = Gitea::PullRequest::CreateService.new(current_user, @project.try(:identifier), requests_params).call | |||
| gitea_request = Gitea::PullRequest::CreateService.new(current_user.try(:gitea_token), @project.owner, @project.try(:identifier), requests_params).call | |||
| if gitea_request && local_requests.update_attributes(gpid: gitea_request["number"]) | |||
| local_requests.project_trends.create(user_id: current_user.id, project_id: @project.id, action_type: "create") | |||
| end | |||
| @@ -1,4 +1,5 @@ | |||
| class SettingsController < ApplicationController | |||
| def show | |||
| end | |||
| end | |||
| @@ -61,13 +61,12 @@ class LaboratorySetting < ApplicationRecord | |||
| { | |||
| name: nil, | |||
| navbar: [ | |||
| { 'name' => '实践课程', 'link' => '/paths', 'hidden' => false }, | |||
| { 'name' => '翻转课堂', 'link' => '/courses', 'hidden' => false }, | |||
| { 'name' => '实训项目', 'link' => '/shixuns', 'hidden' => false }, | |||
| { 'name' => '在线竞赛', 'link' => '/competitions', 'hidden' => false }, | |||
| { 'name' => '教学案例', 'link' => '/moop_cases', 'hidden' => false }, | |||
| { 'name' => '交流问答', 'link' => '/forums', 'hidden' => false }, | |||
| { 'name' => '开发者社区', 'link' => '/problems', 'hidden' => false }, | |||
| { 'name' => '首页', 'link' => '/projects', 'hidden' => false }, | |||
| { 'name' => '课程', 'link' => '/courses', 'hidden' => false }, | |||
| { 'name' => '项目', 'link' => '/projects', 'hidden' => false }, | |||
| { 'name' => '数据', 'link' => '/datas', 'hidden' => false }, | |||
| { 'name' => '竞赛', 'link' => '/competitions', 'hidden' => false }, | |||
| { 'name' => '问吧', 'link' => '/forums', 'hidden' => false }, | |||
| ], | |||
| footer: nil | |||
| } | |||
| @@ -591,8 +591,8 @@ class User < ApplicationRecord | |||
| def self.anonymous | |||
| anonymous_user = AnonymousUser.unscoped.take | |||
| if anonymous_user.nil? | |||
| anonymous_user = AnonymousUser.unscoped.create(lastname: 'Anonymous', firstname: '', login: '', | |||
| mail: '358551897@qq.com', phone: '13333333333', status: 0, platform: User.platform[:forge]) | |||
| # anonymous_user = AnonymousUser.unscoped.create(lastname: 'Anonymous', firstname: '', login: '', mail: '358551897@qq.com', phone: '13333333333', status: 0, platform: User.platform[:forge]) | |||
| anonymous_user = User.find(2) | |||
| raise "Unable to create the anonymous user: error_info:#{anonymous_user.errors.messages}" if anonymous_user.new_record? | |||
| end | |||
| anonymous_user | |||
| @@ -1,6 +1,6 @@ | |||
| class Gitea::PullRequest::CreateService < Gitea::ClientService | |||
| attr_reader :user, :repo, :params | |||
| attr_reader :token, :user, :repo, :params | |||
| # params ex: | |||
| # { | |||
| @@ -11,13 +11,15 @@ class Gitea::PullRequest::CreateService < Gitea::ClientService | |||
| # } | |||
| # 以上列子说明从develop分支合并到master分支 | |||
| # repo: 仓库名称 | |||
| def initialize(user, repo, params={}) | |||
| def initialize(token, user, repo, params={}) | |||
| @token = token | |||
| @user = user | |||
| @repo = repo | |||
| @params = params | |||
| end | |||
| def call | |||
| Rails.logger.info("######_____pr_url______#########{url}") | |||
| post(url, request_params) | |||
| end | |||
| @@ -29,6 +31,6 @@ class Gitea::PullRequest::CreateService < Gitea::ClientService | |||
| end | |||
| def request_params | |||
| Hash.new.merge(token: @user.gitea_token, data: @params) | |||
| Hash.new.merge(token: token, data: @params) | |||
| end | |||
| end | |||
| @@ -1,23 +1,40 @@ | |||
| json.setting do | |||
| if @laboratory.present? | |||
| setting = @laboratory.laboratory_setting | |||
| json.name setting.name || default_setting.name | |||
| json.nav_logo_url (setting.nav_logo_url || default_setting.nav_logo_url)&.[](1..-1) | |||
| json.login_logo_url (setting.login_logo_url || default_setting.login_logo_url)&.[](1..-1) | |||
| json.tab_logo_url (setting.tab_logo_url || default_setting.tab_logo_url)&.[](1..-1) | |||
| # if @laboratory.present? | |||
| # setting = @laboratory.laboratory_setting | |||
| # json.name setting.name || default_setting.name | |||
| # json.nav_logo_url (setting.nav_logo_url || default_setting.nav_logo_url)&.[](1..-1) | |||
| # json.login_logo_url (setting.login_logo_url || default_setting.login_logo_url)&.[](1..-1) | |||
| # json.tab_logo_url (setting.tab_logo_url || default_setting.tab_logo_url)&.[](1..-1) | |||
| # | |||
| # json.subject_banner_url (setting.subject_banner_url || default_setting.subject_banner_url)&.[](1..-1) | |||
| # json.course_banner_url (setting.course_banner_url || default_setting.course_banner_url)&.[](1..-1) | |||
| # json.competition_banner_url (setting.competition_banner_url || default_setting.competition_banner_url)&.[](1..-1) | |||
| # json.moop_cases_banner_url (setting.moop_cases_banner_url || default_setting.moop_cases_banner_url)&.[](1..-1) | |||
| # json.oj_banner_url (setting.oj_banner_url || default_setting.oj_banner_url)&.[](1..-1) | |||
| # | |||
| # json.navbar setting.navbar || default_setting.navbar | |||
| # | |||
| # json.footer setting.footer || default_setting.footer | |||
| # | |||
| # json.main_site current_laboratory.main_site? | |||
| # end | |||
| json.subject_banner_url (setting.subject_banner_url || default_setting.subject_banner_url)&.[](1..-1) | |||
| json.course_banner_url (setting.course_banner_url || default_setting.course_banner_url)&.[](1..-1) | |||
| json.competition_banner_url (setting.competition_banner_url || default_setting.competition_banner_url)&.[](1..-1) | |||
| json.moop_cases_banner_url (setting.moop_cases_banner_url || default_setting.moop_cases_banner_url)&.[](1..-1) | |||
| json.oj_banner_url (setting.oj_banner_url || default_setting.oj_banner_url)&.[](1..-1) | |||
| json.name default_setting.name | |||
| json.nav_logo_url default_setting.nav_logo_url&.[](1..-1) | |||
| json.login_logo_url default_setting.login_logo_url&.[](1..-1) | |||
| json.tab_logo_url default_setting.tab_logo_url&.[](1..-1) | |||
| json.navbar setting.navbar || default_setting.navbar | |||
| json.subject_banner_url default_setting.subject_banner_url&.[](1..-1) | |||
| json.course_banner_url default_setting.course_banner_url&.[](1..-1) | |||
| json.competition_banner_url default_setting.competition_banner_url&.[](1..-1) | |||
| json.moop_cases_banner_url default_setting.moop_cases_banner_url&.[](1..-1) | |||
| json.oj_banner_url default_setting.oj_banner_url&.[](1..-1) | |||
| json.footer setting.footer || default_setting.footer | |||
| json.navbar default_setting.navbar | |||
| json.main_site current_laboratory.main_site? | |||
| end | |||
| json.footer default_setting.footer | |||
| json.main_site current_laboratory.main_site? | |||
| end | |||
| @@ -33,9 +33,6 @@ module Educoderplus | |||
| provider :cas, url: 'https://urp.tfswufe.edu.cn/cas' | |||
| end | |||
| # config.middleware.use ActionDispatch::Cookies | |||
| # config.middleware.use ActionDispatch::Session::CookieStore | |||
| config.middleware.insert_before 0, Rack::Cors do | |||
| allow do | |||
| origins '*' | |||
| @@ -124,6 +124,7 @@ Rails.application.routes.draw do | |||
| post :remote_register | |||
| post :remote_update | |||
| post :remote_login | |||
| post :remote_password | |||
| end | |||
| end | |||