diff --git a/app/controllers/oauth/educoder_controller.rb b/app/controllers/oauth/educoder_controller.rb index 90f963e4f..597aac6a9 100644 --- a/app/controllers/oauth/educoder_controller.rb +++ b/app/controllers/oauth/educoder_controller.rb @@ -29,7 +29,7 @@ class Oauth::EducoderController < Oauth::BaseController user = mail_user end - if user.is_a?(User) + if user.is_a?(User) && !user.is_a?(AnonymousUser) OpenUsers::Educoder.create!(user: user, uid: uid) successful_authentication(user) diff --git a/app/models/fork_user.rb b/app/models/fork_user.rb index 10ae32328..4a4d5f77e 100644 --- a/app/models/fork_user.rb +++ b/app/models/fork_user.rb @@ -1,4 +1,6 @@ class ForkUser < ApplicationRecord - belongs_to :project + belongs_to :project belongs_to :user + belongs_to :fork_project, class_name: 'ForkUser', foreign_key: :fork_project_id + end diff --git a/app/models/project.rb b/app/models/project.rb index bd2008af6..24f8a85de 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -18,6 +18,7 @@ class Project < ApplicationRecord has_many :project_trends, dependent: :destroy has_many :watchers, as: :watchable, dependent: :destroy has_many :fork_users, dependent: :destroy + has_many :forked_users, class_name: 'ForkUser', foreign_key: :fork_project_id, dependent: :destroy # has_many :commits, dependent: :destroy has_one :project_score, dependent: :destroy