From 4b5df918fcea69345597f2791be77299883f5f22 Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 24 Mar 2023 23:35:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=EF=BC=9A=E8=B4=A1=E7=8C=AE?= =?UTF-8?q?=E5=8D=A0=E6=AF=94=E5=B1=95=E7=A4=BA=E5=9C=A8=E8=B4=A1=E7=8C=AE?= =?UTF-8?q?=E8=80=85=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/concerns/watchable.rb | 4 +++- app/views/repositories/_contributor.json.jbuilder | 9 ++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/app/models/concerns/watchable.rb b/app/models/concerns/watchable.rb index f152124a8..a6a89881f 100644 --- a/app/models/concerns/watchable.rb +++ b/app/models/concerns/watchable.rb @@ -45,11 +45,13 @@ module Watchable score = cal_perc(balance_user, balance_all) else contributors = [] - result = Gitea::Repository::Contributors::GetService.call(@owner, @repository.identifier,{q_name: self.login, q_email: self.mail}) + result = Gitea::Repository::Contributors::GetService.call(@user, @project.identifier,{q_name: @user.login, q_email: @user.mail}) user_contribution = result[:body][0] commits_all = result[:total_contributions] score = cal_perc(user_contribution["contributions"], commits_all) end + + (score * 100).round(1).to_s + "%" end def contribution_perc(project) diff --git a/app/views/repositories/_contributor.json.jbuilder b/app/views/repositories/_contributor.json.jbuilder index dca0a93bf..d1bc16024 100644 --- a/app/views/repositories/_contributor.json.jbuilder +++ b/app/views/repositories/_contributor.json.jbuilder @@ -6,12 +6,7 @@ if user.blank? json.type nil json.name contributor["login"] json.image_url User::Avatar.get_letter_avatar_url(contributor["login"]) - if @cache_result.present? - db_user = User.find_by_id(contributor["id"]) - if db_user.present? - json.contribution_perc db_user.contribution_perc(project) - end - end + json.contribution_perc User.new(login: contributor["login"], mail: contributor["email"]).simple_contribution_perc(project) else json.contributions contributor["contributions"] # json.gid contributor["id"] @@ -21,6 +16,6 @@ else json.image_url user["avatar_url"] db_user = User.find_by_id(user["id"]) if db_user.present? - json.contribution_perc db_user.contribution_perc(project) + json.contribution_perc db_user.simple_contribution_perc(project) end end