diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 682c5f2e3..a426364b4 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -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: "退出成功!"} diff --git a/app/controllers/concerns/login_helper.rb b/app/controllers/concerns/login_helper.rb index a389fa72d..94ef1c04a 100644 --- a/app/controllers/concerns/login_helper.rb +++ b/app/controllers/concerns/login_helper.rb @@ -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)) diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index 7dc5d8a95..6288d49ee 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -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| diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index ea9cfb14e..557ed4729 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -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 diff --git a/app/controllers/settings_controller.rb b/app/controllers/settings_controller.rb index 896e2a525..0d4906c2c 100644 --- a/app/controllers/settings_controller.rb +++ b/app/controllers/settings_controller.rb @@ -1,4 +1,5 @@ class SettingsController < ApplicationController def show + end end diff --git a/app/models/laboratory_setting.rb b/app/models/laboratory_setting.rb index e53b54cd3..fbf44e4cc 100644 --- a/app/models/laboratory_setting.rb +++ b/app/models/laboratory_setting.rb @@ -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 } diff --git a/app/models/user.rb b/app/models/user.rb index 3a2083d29..99e9acff6 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -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 diff --git a/app/services/gitea/pull_request/create_service.rb b/app/services/gitea/pull_request/create_service.rb index 3d5b6d998..c3a83d1b9 100644 --- a/app/services/gitea/pull_request/create_service.rb +++ b/app/services/gitea/pull_request/create_service.rb @@ -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 diff --git a/app/views/settings/show.json.jbuilder b/app/views/settings/show.json.jbuilder index e53aa0d1e..706dac152 100644 --- a/app/views/settings/show.json.jbuilder +++ b/app/views/settings/show.json.jbuilder @@ -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 \ No newline at end of file diff --git a/config/application.rb b/config/application.rb index 19276b5fd..f7d05dcd4 100644 --- a/config/application.rb +++ b/config/application.rb @@ -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 '*' diff --git a/config/routes.rb b/config/routes.rb index 42b8f85e1..74b44f039 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -124,6 +124,7 @@ Rails.application.routes.draw do post :remote_register post :remote_update post :remote_login + post :remote_password end end