From 496b26252fef77a82c6513e55e6de862c1122847 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 15 Apr 2020 17:35:14 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81/?= =?UTF-8?q?=E9=80=80=E5=87=BA=E7=9A=84=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/accounts_controller.rb | 12 +++++++++++- app/controllers/concerns/login_helper.rb | 2 +- config/routes.rb | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 682c5f2e3..8d9108bbb 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[:new_password]) + + render_ok({}) + else + render_error("更新是不") + end + end + # 用户注册 diff --git a/app/controllers/concerns/login_helper.rb b/app/controllers/concerns/login_helper.rb index a389fa72d..df7591d03 100644 --- a/app/controllers/concerns/login_helper.rb +++ b/app/controllers/concerns/login_helper.rb @@ -44,7 +44,7 @@ module LoginHelper end def logout_user - Rails.logger.info("####################__11111______######") + Rails.logger.info("####################_1111_User.current_id______######{User.current.try(:id)}###___#{User.current.logged?}") if User.current.logged? Rails.logger.info("####################__2222_______######") 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 From ce9148bb5cb31d29b4e224635f6f3a0ccb95f24d Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 15 Apr 2020 17:52:49 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E7=9A=84=E5=8F=82=E6=95=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/accounts_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 8d9108bbb..4ae3ad129 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -98,11 +98,11 @@ class AccountsController < ApplicationController #修改密码 def remote_password @user = User.find_by(login: params[:login]) - if @user && @user.update_attribute(:password, params[:new_password]) + if @user && @user.update_attribute(:password, params[:password]) render_ok({}) else - render_error("更新是不") + render_error("更新失败") end end From 28be9898d37a1687273c32adecf859a3749638e4 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 15 Apr 2020 18:12:07 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E9=80=80=E5=87=BA?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/accounts_controller.rb | 1 + app/controllers/concerns/login_helper.rb | 7 +------ app/services/gitea/pull_request/create_service.rb | 1 + config/application.rb | 3 --- 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 4ae3ad129..a426364b4 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -263,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 df7591d03..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("####################_1111_User.current_id______######{User.current.try(:id)}###___#{User.current.logged?}") + 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/services/gitea/pull_request/create_service.rb b/app/services/gitea/pull_request/create_service.rb index 3d5b6d998..21e63a553 100644 --- a/app/services/gitea/pull_request/create_service.rb +++ b/app/services/gitea/pull_request/create_service.rb @@ -18,6 +18,7 @@ class Gitea::PullRequest::CreateService < Gitea::ClientService end def call + Rails.logger.info("######_____pr_url______#########{url}") post(url, request_params) end 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 '*' From c5cce418c70dcb4030d12b54e25be016cbb02b1a Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 15 Apr 2020 18:16:02 +0800 Subject: [PATCH 4/6] =?UTF-8?q?pr=E6=8A=A5=E9=94=99=20git=20not=20found?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/pull_requests_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index 7dc5d8a95..5bc9579ad 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(@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| From 479e938493afc7980cf5ba622c60a8e24881d6aa Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 15 Apr 2020 18:30:54 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9pull=5Frequest=E7=9A=84?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/pull_requests_controller.rb | 2 +- app/controllers/repositories_controller.rb | 2 +- app/services/gitea/pull_request/create_service.rb | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index 5bc9579ad..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(@project.owner, @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/services/gitea/pull_request/create_service.rb b/app/services/gitea/pull_request/create_service.rb index 21e63a553..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,7 +11,8 @@ 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 @@ -30,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 From f57af4bcd8a56169950bc77bb69f4e6c31b07203 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Thu, 16 Apr 2020 09:42:08 +0800 Subject: [PATCH 6/6] =?UTF-8?q?setting=E7=9A=84api=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/settings_controller.rb | 1 + app/models/laboratory_setting.rb | 13 ++++--- app/models/user.rb | 4 +-- app/views/settings/show.json.jbuilder | 47 ++++++++++++++++++-------- 4 files changed, 41 insertions(+), 24 deletions(-) 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/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