diff --git a/app/models/user.rb b/app/models/user.rb --- a/app/models/user.rb +++ b/app/models/user.rb @@ -53,6 +53,7 @@ before_save :encrypt_new_password before_save :assign_default_site + before_save :assign_default_contest # this is for will_paginate cattr_reader :per_page @@ -273,6 +274,19 @@ end end + def assign_default_contest + # have to catch error when migrating (because self.site is not available). + begin + if self.contests.length == 0 + default_contest = Contest.find_by_name(Configuration['contest.default_contest_name']) + if default_contest + self.contests = [default_contest] + end + end + rescue + end + end + def password_required? self.hashed_password.blank? || !self.password.blank? end