Merge branch 'develop' of http://git.trustie.net/jasder/forgeplus into develop

This commit is contained in:
Jasder 2020-04-16 09:43:02 +08:00
commit d27af59a76
11 changed files with 62 additions and 39 deletions

View File

@ -52,7 +52,6 @@ class AccountsController < ApplicationController
u.login = user_params["login"] if user_params["login"] u.login = user_params["login"] if user_params["login"]
u.mail = user_params["mail"] if user_params["mail"] u.mail = user_params["mail"] if user_params["mail"]
u.lastname = user_params["lastname"] if user_params["lastname"] 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.gender = user_extension_params["gender"]
ue.school_id = user_extension_params["school_id"] ue.school_id = user_extension_params["school_id"]
@ -96,6 +95,17 @@ class AccountsController < ApplicationController
end end
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 # end
def logout 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) UserAction.create(action_id: User.current.id, action_type: "Logout", user_id: User.current.id, :ip => request.remote_ip)
logout_user logout_user
render :json => {status: 1, message: "退出成功!"} render :json => {status: 1, message: "退出成功!"}

View File

@ -44,21 +44,16 @@ module LoginHelper
end end
def logout_user def logout_user
Rails.logger.info("####################__11111______######") Rails.logger.info("####################__User.current_id______######{current_user.try(:id)}###___#{current_user&.logged?}")
if User.current.logged? if User.current.logged?
Rails.logger.info("####################__2222_______######")
if autologin = cookies.delete(autologin_cookie_name) if autologin = cookies.delete(autologin_cookie_name)
Rails.logger.info("####################__33333______######")
User.current.delete_autologin_token(autologin) User.current.delete_autologin_token(autologin)
end end
Rails.logger.info("####################__4444444______######")
User.current.delete_session_token(session[:tk]) User.current.delete_session_token(session[:tk])
self.logged_user = nil self.logged_user = nil
end end
Rails.logger.info("####################__55555______######")
# 云上实验室退出清理当前session # 云上实验室退出清理当前session
laboratory ||= (Laboratory.find_by_subdomain(request.subdomain) || Laboratory.find(1)) laboratory ||= (Laboratory.find_by_subdomain(request.subdomain) || Laboratory.find(1))

View File

@ -111,7 +111,7 @@ class PullRequestsController < ApplicationController
if pull_issue.save! 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)) 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 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 gitea_request && local_requests.update_attributes(gpid: gitea_request["number"])
if params[:issue_tag_ids].present? if params[:issue_tag_ids].present?
params[:issue_tag_ids].each do |tag| params[:issue_tag_ids].each do |tag|

View File

@ -90,7 +90,7 @@ class RepositoriesController < ApplicationController
if pull_issue.save! 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)) 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 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"]) 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") local_requests.project_trends.create(user_id: current_user.id, project_id: @project.id, action_type: "create")
end end

View File

@ -1,4 +1,5 @@
class SettingsController < ApplicationController class SettingsController < ApplicationController
def show def show
end end
end end

View File

@ -61,13 +61,12 @@ class LaboratorySetting < ApplicationRecord
{ {
name: nil, name: nil,
navbar: [ navbar: [
{ 'name' => '实践课程', 'link' => '/paths', 'hidden' => false }, { 'name' => '首页', 'link' => '/projects', 'hidden' => false },
{ 'name' => '翻转课堂', 'link' => '/courses', 'hidden' => false }, { 'name' => '课程', 'link' => '/courses', 'hidden' => false },
{ 'name' => '实训项目', 'link' => '/shixuns', 'hidden' => false }, { 'name' => '项目', 'link' => '/projects', 'hidden' => false },
{ 'name' => '在线竞赛', 'link' => '/competitions', 'hidden' => false }, { 'name' => '数据', 'link' => '/datas', 'hidden' => false },
{ 'name' => '教学案例', 'link' => '/moop_cases', 'hidden' => false }, { 'name' => '竞赛', 'link' => '/competitions', 'hidden' => false },
{ 'name' => '交流问答', 'link' => '/forums', 'hidden' => false }, { 'name' => '问吧', 'link' => '/forums', 'hidden' => false },
{ 'name' => '开发者社区', 'link' => '/problems', 'hidden' => false },
], ],
footer: nil footer: nil
} }

View File

@ -591,8 +591,8 @@ class User < ApplicationRecord
def self.anonymous def self.anonymous
anonymous_user = AnonymousUser.unscoped.take anonymous_user = AnonymousUser.unscoped.take
if anonymous_user.nil? if anonymous_user.nil?
anonymous_user = AnonymousUser.unscoped.create(lastname: 'Anonymous', firstname: '', login: '', # anonymous_user = AnonymousUser.unscoped.create(lastname: 'Anonymous', firstname: '', login: '', mail: '358551897@qq.com', phone: '13333333333', status: 0, platform: User.platform[:forge])
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? raise "Unable to create the anonymous user error_info:#{anonymous_user.errors.messages}" if anonymous_user.new_record?
end end
anonymous_user anonymous_user

View File

@ -1,6 +1,6 @@
class Gitea::PullRequest::CreateService < Gitea::ClientService class Gitea::PullRequest::CreateService < Gitea::ClientService
attr_reader :user, :repo, :params attr_reader :token, :user, :repo, :params
# params ex: # params ex:
# { # {
@ -11,13 +11,15 @@ class Gitea::PullRequest::CreateService < Gitea::ClientService
# } # }
# 以上列子说明从develop分支合并到master分支 # 以上列子说明从develop分支合并到master分支
# repo: 仓库名称 # repo: 仓库名称
def initialize(user, repo, params={}) def initialize(token, user, repo, params={})
@token = token
@user = user @user = user
@repo = repo @repo = repo
@params = params @params = params
end end
def call def call
Rails.logger.info("######_____pr_url______#########{url}")
post(url, request_params) post(url, request_params)
end end
@ -29,6 +31,6 @@ class Gitea::PullRequest::CreateService < Gitea::ClientService
end end
def request_params def request_params
Hash.new.merge(token: @user.gitea_token, data: @params) Hash.new.merge(token: token, data: @params)
end end
end end

View File

@ -1,23 +1,40 @@
json.setting do json.setting do
if @laboratory.present? # if @laboratory.present?
setting = @laboratory.laboratory_setting # setting = @laboratory.laboratory_setting
json.name setting.name || default_setting.name # json.name setting.name || default_setting.name
json.nav_logo_url (setting.nav_logo_url || default_setting.nav_logo_url)&.[](1..-1) # 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.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.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.name default_setting.name
json.course_banner_url (setting.course_banner_url || default_setting.course_banner_url)&.[](1..-1) json.nav_logo_url default_setting.nav_logo_url&.[](1..-1)
json.competition_banner_url (setting.competition_banner_url || default_setting.competition_banner_url)&.[](1..-1) json.login_logo_url default_setting.login_logo_url&.[](1..-1)
json.moop_cases_banner_url (setting.moop_cases_banner_url || default_setting.moop_cases_banner_url)&.[](1..-1) json.tab_logo_url default_setting.tab_logo_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.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.footer default_setting.footer
json.main_site current_laboratory.main_site? json.main_site current_laboratory.main_site?
end
end end

View File

@ -33,9 +33,6 @@ module Educoderplus
provider :cas, url: 'https://urp.tfswufe.edu.cn/cas' provider :cas, url: 'https://urp.tfswufe.edu.cn/cas'
end end
# config.middleware.use ActionDispatch::Cookies
# config.middleware.use ActionDispatch::Session::CookieStore
config.middleware.insert_before 0, Rack::Cors do config.middleware.insert_before 0, Rack::Cors do
allow do allow do
origins '*' origins '*'

View File

@ -124,6 +124,7 @@ Rails.application.routes.draw do
post :remote_register post :remote_register
post :remote_update post :remote_update
post :remote_login post :remote_login
post :remote_password
end end
end end