diff --git a/app/controllers/oauth/educoder_controller.rb b/app/controllers/oauth/educoder_controller.rb index dea6e248..a803adbb 100644 --- a/app/controllers/oauth/educoder_controller.rb +++ b/app/controllers/oauth/educoder_controller.rb @@ -2,11 +2,11 @@ class Oauth::EducoderController < Oauth::BaseController def bind begin login = params[:login] - mail = params[:mail] + mail = params[:mail] || nil callback_url = params[:callback_url] token = params[:token] - ::OauthEducoderForm.new({login: login, token: token, mail: mail, callback_url: callback_url}).validate! + ::OauthEducoderForm.new({login: login, token: token, callback_url: callback_url}).validate! open_user= OpenUsers::Educoder.find_by(uid: login) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index c19570d4..105bda78 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -148,8 +148,10 @@ class UsersController < ApplicationController def trustie_related_projects projects = Project.includes(:owner, :members, :project_score).where(id: params[:ids]).order("updated_on desc") projects_json = [] + domain_url = EduSetting.get('host_name') + '/projects' if projects.present? projects.each do |p| + project_url = "/#{p.owner.login}/#{p.identifier}" pj = { id: p.id, name: p.name, @@ -164,6 +166,10 @@ class UsersController < ApplicationController members_count: p&.members.size, issues_count: p.issues_count - p.pull_requests_count, commits_count: p&.project_score&.changeset_num.to_i, + http_url: domain_url + project_url, + http_collaborator_url: domain_url + project_url + "/setting/collaborator", + http_issues_url: domain_url + project_url + "/issues", + http_commits_url: domain_url + project_url + "/commits", project_score: p&.project_score.present? ? p&.project_score&.as_json(:except=>[:created_at, :updated_at]).merge!(commit_time: format_time(p&.project_score&.commit_time)) : {} } projects_json.push(pj) @@ -176,7 +182,7 @@ class UsersController < ApplicationController def trustie_projects user_id = User.select(:id, :login).where(login: params[:login])&.first&.id projects = Project.visible - + projects = projects.joins(:members).where(members: { user_id: user_id }) search = params[:search].to_s.strip diff --git a/app/forms/oauth_educoder_form.rb b/app/forms/oauth_educoder_form.rb index cfb00726..f8222cfa 100644 --- a/app/forms/oauth_educoder_form.rb +++ b/app/forms/oauth_educoder_form.rb @@ -1,11 +1,10 @@ class OauthEducoderForm include ActiveModel::Model - attr_accessor :login, :token, :mail, :callback_url + attr_accessor :login, :token, :callback_url validates :login, presence: true validates :token, presence: true - validates :mail, presence: true validates :callback_url, presence: true validate :check_callback_url! diff --git a/app/views/pull_requests/index.json.jbuilder b/app/views/pull_requests/index.json.jbuilder index c36bfe1d..14454d70 100644 --- a/app/views/pull_requests/index.json.jbuilder +++ b/app/views/pull_requests/index.json.jbuilder @@ -19,6 +19,7 @@ json.issues do json.pull_request_staus pr.status == 1 ? "merged" : (pr.status == 2 ? "closed" : "open") json.is_original pr.is_original json.fork_project_id pr&.fork_project_id + json.fork_project_identifier pr&.fork_project&.identifier json.fork_project_user pr&.fork_project&.owner.try(:login)