Description:
[web] no site admin login box when not in contest mode git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@252 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r124:44e64c191944 - - 2 files changed: 5 inserted, 4 deleted

@@ -4,38 +4,39
4 4
5 5 before_filter :authenticate, :except => [:index, :login]
6 6 before_filter :check_viewability, :except => [:index, :login]
7 7
8 8 #
9 9 # COMMENT OUT: filter in each action instead
10 10 #
11 11 # before_filter :verify_time_limit, :only => [:submit]
12 12
13 13 verify :method => :post, :only => [:submit],
14 14 :redirect_to => { :action => :index }
15 15
16 + caches_action :index, :login
16 17
17 18 def index
18 19 redirect_to :action => 'login'
19 20 end
20 21
21 22 def login
22 23 saved_notice = flash[:notice]
23 24 reset_session
24 25 flash[:notice] = saved_notice
25 26
26 27 #
27 28 # These are for site administrator login
28 29 #
29 - @countries = Country.find(:all)
30 + @countries = Country.find(:all, :include => :sites)
30 31 @country_select = @countries.collect { |c| [c.name, c.id] }
31 32
32 33 @country_select_with_all = [['Any',0]]
33 34 @countries.each do |country|
34 35 @country_select_with_all << [country.name, country.id]
35 36 end
36 37
37 38 @site_select = []
38 39 @countries.each do |country|
39 40 country.sites.each do |site|
40 41 @site_select << ["#{site.name}, #{country.name}", site.id]
41 42 end
@@ -139,21 +140,21
139 140 @prob_submissions << { :count => sub.number, :submission => sub }
140 141 else
141 142 @prob_submissions << { :count => 0, :submission => nil }
142 143 end
143 144 end
144 145
145 146 @announcements = Announcement.find(:all,
146 147 :conditions => "published = 1",
147 148 :order => "created_at DESC")
148 149 end
149 150
150 151 def check_viewability
151 - user = User.find(session[:user_id])
152 - if (!Configuration.show_tasks_to?(user)) and
152 + @user = User.find(session[:user_id])
153 + if (!Configuration.show_tasks_to?(@user)) and
153 154 ((action_name=='submission') or (action_name=='submit'))
154 155 redirect_to :action => 'list' and return
155 156 end
156 157 end
157 158
158 159 end
159 160
@@ -15,42 +15,42
15 15 - form_tag :controller => 'login', :action => 'login' do
16 16 %table
17 17 %tr
18 18 %td{:align => "right"} Login:
19 19 %td= text_field_tag 'login'
20 20 %tr
21 21 %td{:align => "right"} Password:
22 22 %td= password_field_tag
23 23 = submit_tag 'Login'
24 24
25 25 %br/
26 26
27 + - if Configuration['system.mode']=='contest'
27 28 %script{:type => 'text/javascript'}
28 29 var siteList = new Array();
29 30 - @countries.each do |country|
30 31 = "siteList[#{country.id}] = new Array();"
31 32 - country.sites.each do |site|
32 33 = "siteList[#{country.id}][#{site.id}] = \"#{site.name}\";"
33 34
34 35 var allSiteList = new Array();
35 36 - @site_select.each do |sel|
36 37 = "allSiteList[#{sel[1]}]=\"#{sel[0]}\";"
37 38
38 39 %script{:type => 'text/javascript', :src => '/javascripts/site_update.js'}
39 40
40 41 %div{ :style => "border: solid 1px gray; padding: 2px; background: #f0f0f0;"}
41 42 %b For Site Administrator.
42 43 %br/
43 44 Please select your country and site and login.
44 - .login-box
45 45 - form_for :login, nil, :url => {:controller => 'login', :action => 'site_login'} do |f|
46 46 Country:
47 47 = select :site_country, :id, @country_select_with_all, {}, {:onchange => "updateSiteList();", :onclick => "updateSiteList();" }
48 48 Site:
49 49 = select :login, :site_id, @site_select
50 50 %br/
51 51 Password:
52 52 = f.password_field :password
53 53 = submit_tag "Site Administrator Login"
54 54
55 55 %script{:type => 'text/javascript'}
56 56 updateSiteList();
You need to be logged in to leave comments. Login now