Description:
Merge branch 'master' into codejom (user stat reset) Conflicts: app/models/user.rb
Commit status:
[Not Reviewed]
References:
merge default
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r248:0f32f3dd1054 - - 2 files changed: 9 inserted, 1 deleted

@@ -1,30 +1,38
1 1 class ContestsController < ApplicationController
2 2
3 3 before_filter :admin_authorization
4 4
5 5 def index
6 6 end
7 7
8 8 def user_stat
9 9 if not Configuration.indv_contest_mode?
10 10 redirect_to :action => 'index' and return
11 11 end
12 12
13 13 @users = User.find(:all)
14 14 @start_times = {}
15 15 UserContestStat.find(:all).each do |stat|
16 16 @start_times[stat.user_id] = stat.started_at
17 17 end
18 18 end
19 19
20 + def clear_stat
21 + user = User.find(params[:id])
22 + if user.contest_stat!=nil
23 + user.contest_stat.destroy
24 + end
25 + redirect_to :action => 'user_stat'
26 + end
27 +
20 28 def clear_all_stat
21 29 if not Configuration.indv_contest_mode?
22 30 redirect_to :action => 'index' and return
23 31 end
24 32
25 33 UserContestStat.delete_all()
26 34 flash[:notice] = 'All start time statistic cleared.'
27 35 redirect_to :action => 'index'
28 36 end
29 37
30 38 end
@@ -1,71 +1,71
1 1 # -*- coding: utf-8 -*-
2 2 require 'digest/sha1'
3 3
4 4 class User < ActiveRecord::Base
5 5
6 6 has_and_belongs_to_many :roles
7 7
8 8 has_many :test_requests, :order => "submitted_at DESC"
9 9
10 10 has_many :messages,
11 11 :class_name => "Message",
12 12 :foreign_key => "sender_id",
13 13 :order => 'created_at DESC'
14 14
15 15 has_many :replied_messages,
16 16 :class_name => "Message",
17 17 :foreign_key => "receiver_id",
18 18 :order => 'created_at DESC'
19 19
20 20 has_many :test_pair_assignments, :dependent => :delete_all
21 21 has_many :submission_statuses
22 22
23 - has_one :contest_stat, :class_name => "UserContestStat"
23 + has_one :contest_stat, :class_name => "UserContestStat", :dependent => :destroy
24 24
25 25 belongs_to :site
26 26 belongs_to :country
27 27
28 28 # For Code Jom
29 29 has_one :codejom_status
30 30
31 31 named_scope :activated_users, :conditions => {:activated => true}
32 32
33 33 validates_presence_of :login
34 34 validates_uniqueness_of :login
35 35 validates_format_of :login, :with => /^[\_A-Za-z0-9]+$/
36 36 validates_length_of :login, :within => 3..20
37 37
38 38 validates_presence_of :full_name
39 39 validates_length_of :full_name, :minimum => 1
40 40
41 41 validates_presence_of :member1_full_name
42 42 validates_length_of :member1_full_name, :minimum => 1
43 43
44 44 validates_presence_of :password, :if => :password_required?
45 45 validates_length_of :password, :within => 4..20, :if => :password_required?
46 46 validates_confirmation_of :password, :if => :password_required?
47 47
48 48 validates_format_of :email,
49 49 :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i,
50 50 :if => :email_validation?
51 51 validate :uniqueness_of_email_from_activated_users,
52 52 :if => :email_validation?
53 53 validate :enough_time_interval_between_same_email_registrations,
54 54 :if => :email_validation?
55 55
56 56 validate :school_names_for_high_school_users
57 57
58 58 # these are for ytopc
59 59 # disable for now
60 60 #validates_presence_of :province
61 61
62 62 attr_accessor :password
63 63
64 64 before_save :encrypt_new_password
65 65 before_save :assign_default_site
66 66
67 67 def self.authenticate(login, password)
68 68 user = find_by_login(login)
69 69 return user if user && user.authenticated?(password)
70 70 end
71 71
You need to be logged in to leave comments. Login now