From f625429cc1f166ed21093fd184132fddcd0e997e Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 24 Apr 2026 09:40:33 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=94=B9=EF=BC=9A=E8=B6=85?= =?UTF-8?q?=E7=AE=97=E7=BB=84=E7=BB=87=E5=B1=95=E7=A4=BAmirror=5Furl?= =?UTF-8?q?=E4=B8=AD=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/projects_helper.rb | 3 ++- app/views/repositories/_nsccn_author.json.jbuilder | 14 ++++++++++++++ app/views/repositories/detail.json.jbuilder | 8 ++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 app/views/repositories/_nsccn_author.json.jbuilder diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index ed5f67212..e36b35703 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -84,9 +84,10 @@ module ProjectsHelper image_url: project.project_educoder.image_url } else + name = project.owner&.mirror_url.present? ? project.owner&.mirror_url.split('/')[-2] : project.owner.real_name { login: @owner.login, - name: @owner.real_name, + name: @owner.login == "NSCCN" ? name : @owner.real_name, type: @owner.type, image_url: url_to_avatar(@owner) } diff --git a/app/views/repositories/_nsccn_author.json.jbuilder b/app/views/repositories/_nsccn_author.json.jbuilder new file mode 100644 index 000000000..c9a42a24e --- /dev/null +++ b/app/views/repositories/_nsccn_author.json.jbuilder @@ -0,0 +1,14 @@ +json.author do + if @project.forge? + json.id user.id + json.login user.login + json.type user&.type + json.name name + json.image_url url_to_avatar(user) + else + json.login @project.project_educoder&.repo_name&.split('/')[0] + json.name @project.project_educoder&.owner + json.type 'Educoder' + json.image_url @project.project_educoder&.image_url + end +end diff --git a/app/views/repositories/detail.json.jbuilder b/app/views/repositories/detail.json.jbuilder index c10dfa40b..723d9c8d3 100644 --- a/app/views/repositories/detail.json.jbuilder +++ b/app/views/repositories/detail.json.jbuilder @@ -77,5 +77,9 @@ json.tags_count @result[:branch_tag_total_count].present? ? (@result[:branch_tag # json.total_count total_count # end # json.languages @result[:language].blank? ? nil : @result[:language] - -json.partial! 'author', locals: { user: @project.owner } +mirror_name = @project&.repository&.mirror_url.present? ? @project&.repository&.mirror_url.split('/')[-2] : @project&.owner&.real_name +if @project&.owner&.login == "NSCCN" + json.partial! 'nsccn_author', locals: { user: @project.owner, name: mirror_name } +else + json.partial! 'author', locals: { user: @project.owner } +end From 6584b69dc1b79533072e331fabe7ab9a10dfa209 Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 24 Apr 2026 09:44:26 +0800 Subject: [PATCH 2/2] fix --- app/helpers/projects_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index e36b35703..59bf46d4f 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -84,7 +84,7 @@ module ProjectsHelper image_url: project.project_educoder.image_url } else - name = project.owner&.mirror_url.present? ? project.owner&.mirror_url.split('/')[-2] : project.owner.real_name + name = project.repository&.mirror_url.present? ? project.repository&.mirror_url.split('/')[-2] : project.owner.real_name { login: @owner.login, name: @owner.login == "NSCCN" ? name : @owner.real_name,