From 6e86f9d9f396cda2912cbe772781fe93a73d8fb4 Mon Sep 17 00:00:00 2001 From: xiaoxiaoqiong Date: Fri, 8 Apr 2022 23:07:23 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=AD=90=E8=B5=9B=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/settings_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/settings_controller.rb b/app/controllers/settings_controller.rb index ea75c12d1..f3eedd0a1 100644 --- a/app/controllers/settings_controller.rb +++ b/app/controllers/settings_controller.rb @@ -33,8 +33,8 @@ class SettingsController < ApplicationController def get_sub_competitions @sub_competitions = [] Site.competition.pluck(:key).uniq.each do |key| - hash = {} - hash.merge!("#{key.to_s}": Site.competition.where(key: key).select(:id, :name, :url, :key).to_a.map(&:serializable_hash)) + hash = {"identifier": "#{key.to_s}"} + hash.merge!("list": Site.competition.where(key: key).select(:id, :name, :url, :key).to_a.map(&:serializable_hash)) @sub_competitions << hash end end From 910ae4855688441b48414d1a635462a7043c51ec Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 11 Apr 2022 10:50:18 +0800 Subject: [PATCH 2/8] fix: exception to ex --- app/libs/notice.rb | 2 +- app/libs/trace.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/libs/notice.rb b/app/libs/notice.rb index 93d5cb42d..18fdb070b 100644 --- a/app/libs/notice.rb +++ b/app/libs/notice.rb @@ -7,7 +7,7 @@ module Notice config = Rails.application.config_for(:configuration).symbolize_keys! notice_config = config[:notice].symbolize_keys! raise 'notice config missing' if notice_config.blank? - rescue => exception + rescue => ex raise ex if Rails.env.production? puts %Q{\033[33m [warning] gitea config or configuration.yml missing, diff --git a/app/libs/trace.rb b/app/libs/trace.rb index b1c3c4767..3ec3b56a2 100644 --- a/app/libs/trace.rb +++ b/app/libs/trace.rb @@ -7,7 +7,7 @@ module Trace config = Rails.application.config_for(:configuration).symbolize_keys! trace_config = config[:trace].symbolize_keys! raise 'trace config missing' if trace_config.blank? - rescue => exception + rescue => ex raise ex if Rails.env.production? puts %Q{\033[33m [warning] gitea config or configuration.yml missing, From 0076468a150eb7e9ac9f63f31eb9b89509bdcd54 Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 11 Apr 2022 15:30:28 +0800 Subject: [PATCH 3/8] fix: trace client request data --- app/services/trace/client_service.rb | 56 +++++++--------------------- 1 file changed, 13 insertions(+), 43 deletions(-) diff --git a/app/services/trace/client_service.rb b/app/services/trace/client_service.rb index df9a4321a..298c2cf0f 100644 --- a/app/services/trace/client_service.rb +++ b/app/services/trace/client_service.rb @@ -2,20 +2,14 @@ class Trace::ClientService < ApplicationService def post(url, params={}) puts "[trace][POST] request params: #{params}" - conn.post do |req| - req.url full_url(url) - req.body = params[:data].to_json - end + conn.post(full_url(url), params[:data]) end def authed_post(token, url, params={}) puts "[trace][POST] request params: #{params}" puts "[trace][POST] request token: #{token}" - conn.post do |req| - req.url full_url(url) - req.body = params[:data].to_json - req.headers['Authorization'] = token - end + conn.headers['Authorization'] = token + conn.post(full_url(url), params[:data]) end def get(url, params={}) @@ -42,67 +36,43 @@ class Trace::ClientService < ApplicationService def delete(url, params={}) puts "[trace][DELETE] request params: #{params}" - conn.delete do |req| - req.url full_url(url) - req.body = params[:data].to_json - end + conn.delete(full_url(url), params[:data]) end def authed_delete(token, url, params={}) puts "[trace][DELETE] request params: #{params}" puts "[trace][DELETE] request token: #{token}" - conn.delete do |req| - req.url full_url(url) - req.body = params[:data].to_json - req.headers['Authorization'] = token - end + conn.headers['Authorization'] = token + conn.delete(full_url(url), params[:data]) end def patch(url, params={}) puts "[trace][PATCH] request params: #{params}" - conn.patch do |req| - req.url full_url(url) - req.body = params[:data].to_json - end + conn.patch(full_url(url), params[:data]) end def authed_patch(token, url, params={}) puts "[trace][PATCH] request params: #{params}" puts "[trace][PATCH] request token: #{token}" - conn.patch do |req| - req.url full_url(url) - req.body = params[:data].to_json - req.headers['Authorization'] = token - end + conn.headers['Authorization'] = token + conn.patch(full_url(url), params[:data]) end def put(url, params={}) puts "[trace][PUT] request params: #{params}" - conn.put do |req| - req.url full_url(url) - req.body = params[:data].to_json - end + conn.put(full_url(url), params[:data]) end def authed_put(token, url, params={}) puts "[trace][PUT] request params: #{params}" puts "[trace][PUT] request token: #{token}" - conn.put do |req| - req.url full_url(url) - req.body = params[:data].to_json - req.headers['Authorization'] = token - end + conn.headers['Authorization'] = token + conn.put(full_url(url), params[:data]) end private def conn - @client ||= begin - Faraday.new(url: domain) do |req| - req.request :url_encoded - req.headers['Content-Type'] = 'application/json' - req.adapter Faraday.default_adapter - end - end + @client ||= Faraday.new(url: domain) @client end From 720c073f32a8f616ee35b2bf9e208a3ae00a8445 Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 11 Apr 2022 15:48:47 +0800 Subject: [PATCH 4/8] fix --- app/services/trace/client_service.rb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/services/trace/client_service.rb b/app/services/trace/client_service.rb index 298c2cf0f..6dbe87d54 100644 --- a/app/services/trace/client_service.rb +++ b/app/services/trace/client_service.rb @@ -70,11 +70,8 @@ class Trace::ClientService < ApplicationService conn.put(full_url(url), params[:data]) end - private def conn - @client ||= Faraday.new(url: domain) - - @client + Faraday.new(url: domain) end def base_url From 2dfd69ae212ffa4e164c920073a22d2b30380ec0 Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 11 Apr 2022 16:08:50 +0800 Subject: [PATCH 5/8] fix: response data result --- app/services/trace/client_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/trace/client_service.rb b/app/services/trace/client_service.rb index 6dbe87d54..72ffa8ca2 100644 --- a/app/services/trace/client_service.rb +++ b/app/services/trace/client_service.rb @@ -105,6 +105,6 @@ class Trace::ClientService < ApplicationService log_error(status, body) - return [body["code"], body["Data"], body["Error"]] + return [body["code"], body["data"], body["error"]] end end \ No newline at end of file From 7aea481ccf881f4feeba2205736e90289f3b9b58 Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 18 Apr 2022 10:24:54 +0800 Subject: [PATCH 6/8] add: glcc_apply_infomations admin navbar --- app/views/admins/shared/_sidebar.html.erb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/views/admins/shared/_sidebar.html.erb b/app/views/admins/shared/_sidebar.html.erb index 055988731..4c6e6de70 100644 --- a/app/views/admins/shared/_sidebar.html.erb +++ b/app/views/admins/shared/_sidebar.html.erb @@ -45,6 +45,11 @@
  • <%= sidebar_item_group('#setting-glcc', 'GLCC配置', icon: 'fire') do %>
  • <%= sidebar_item(admins_topic_glcc_news_index_path, '新闻稿管理', icon: 'edit', controller: 'admins-topic-glcc_news') %>
  • +
  • + <% if EduSetting.get("glcc_apply_informations_admin_url")%> + <%= sidebar_item(EduSetting.get("glcc_apply_informations_admin_url"), '报名列表', icon: 'user', controller: 'root') %> + <% end %> +
  • <% end %>
  • From 8f5bb0e2d9b8c146cb42f8f84e642eb59c5344b5 Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 18 Apr 2022 10:52:48 +0800 Subject: [PATCH 7/8] fix: organization gitea_token read by associations --- app/models/organization.rb | 4 ++++ app/services/organizations/create_service.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/models/organization.rb b/app/models/organization.rb index 40c676e05..56351a415 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -83,6 +83,10 @@ class Organization < Owner after_save :reset_cache_data + def gitea_token + team_users.joins(:team).where(teams: {authorize: "owner"}).take&.user&.gitea_token + end + def reset_cache_data Cache::V2::OwnerCommonService.new(self.id).reset end diff --git a/app/services/organizations/create_service.rb b/app/services/organizations/create_service.rb index a430ed6f4..263779191 100644 --- a/app/services/organizations/create_service.rb +++ b/app/services/organizations/create_service.rb @@ -47,7 +47,7 @@ class Organizations::CreateService < ApplicationService end def create_org_and_extension - @organization = Organization.build(params[:name], params[:nickname], user.gitea_token) + @organization = Organization.build(params[:name], params[:nickname]) org_extension = OrganizationExtension.build(organization.id, description, website, location, repo_admin_change_team_access, visibility, max_repo_creation) From fc3cf01d3f6f730d9ae82b5da0a9ee66164d50ed Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 18 Apr 2022 13:49:08 +0800 Subject: [PATCH 8/8] add: get user image action --- app/controllers/users_controller.rb | 7 +++++++ app/helpers/application_helper.rb | 9 +++++++++ app/views/users/get_user_info.json.jbuilder | 2 +- config/routes.rb | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 00ea926fd..acc826614 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -97,6 +97,13 @@ class UsersController < ApplicationController render_error(-1, '头像修改失败!') end + def get_image + return render_not_found unless @user = User.find_by(login: params[:id]) || User.find_by_id(params[:id]) + return render_forbidden unless User.current.logged? && (current_user&.admin? || current_user.id == @user.id) + + redirect_to Rails.application.config_for(:configuration)['platform_url'] + "/" + url_to_avatar(@user).to_s + end + def me @user = current_user end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index f2a9f93b6..e7f8611e7 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -147,6 +147,15 @@ module ApplicationHelper end end + def url_to_avatar_with_platform_url(source) + platform_url = Rails.application.config_for(:configuration)['platform_url'] + if platform_url + return Rails.application.config_for(:configuration)['platform_url'] + "/" + url_to_avatar(source).to_s + else + return url_to_avatar(source).to_s + end + end + # 主页banner图 def banner_img(source_type) if File.exist?(disk_filename(source_type, "banner")) diff --git a/app/views/users/get_user_info.json.jbuilder b/app/views/users/get_user_info.json.jbuilder index 2f96c6969..5fa4df167 100644 --- a/app/views/users/get_user_info.json.jbuilder +++ b/app/views/users/get_user_info.json.jbuilder @@ -22,4 +22,4 @@ json.city @user.city json.custom_department @user.custom_department json.description @user.description json.(@user, :show_email, :show_department, :show_location) -json.message_unread_total @message_unread_total +json.message_unread_total @message_unread_total diff --git a/config/routes.rb b/config/routes.rb index 7e280820a..da63dab64 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -214,6 +214,7 @@ Rails.application.routes.draw do get :fan_users get :hovercard put :update_image + get :get_image end collection do post :following