diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index ed5f67212..59bf46d4f 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.repository&.mirror_url.present? ? project.repository&.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