Description:
fixed layout problem, for real, using render :layout => ... git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@51 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

r27:e418fd4486af - - 5 files changed: 26 inserted, 26 deleted

@@ -0,0 +1,22
1 + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 +
4 + <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5 + <head>
6 + <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
7 + <title>Grader!</title>
8 + <%= stylesheet_link_tag 'application' %>
9 + <%= yield :head %>
10 + </head>
11 + <body>
12 +
13 + <div class="userbar">
14 + <%= user_header %>
15 + </div>
16 +
17 + <p style="color: green"><%= flash[:notice] %></p>
18 +
19 + <%= yield %>
20 +
21 + </body>
22 + </html>
@@ -1,65 +1,63
1 1 class MainController < ApplicationController
2 2
3 3 before_filter :authenticate, :except => [:index, :login]
4 4
5 - layout 'application'
6 -
7 5 verify :method => :post, :only => [:submit],
8 6 :redirect_to => { :action => :index }
9 7
10 8
11 9 def index
12 10 redirect_to :action => 'login'
13 11 end
14 12
15 13 def login
16 - MainController.layout 'empty'
17 14 reset_session
15 + render :action => 'login', :layout => 'empty'
18 16 end
19 17
20 18 def list
21 19 @problems = Problem.find_available_problems
22 20 @prob_submissions = Array.new
23 21 @user = User.find(session[:user_id])
24 22 @problems.each do |p|
25 23 c, sub = Submission.find_by_user_and_problem(@user.id,p.id)
26 24 @prob_submissions << [c,sub]
27 25 end
28 26 end
29 27
30 28 def submit
31 29 submission = Submission.new(params[:submission])
32 30 submission.user_id = session[:user_id]
33 31 submission.language_id = 0
34 32 source = params['file'].read
35 33 if source.length > 100_000
36 34 flash[:notice] = 'Error: file too long'
37 35 elsif (lang = Submission.find_language_in_source(source))==nil
38 36 flash[:notice] = 'Error: cannot determine language used'
39 37 elsif ((submission.problem_id==-1) and
40 38 !(problem=Submission.find_problem_in_source(source)))
41 39 flash[:notice] = 'Error: cannot determine problem submitted'
42 40 elsif ((submission.problem_id==-1) and
43 41 (problem.available == false))
44 42 flash[:notice] = 'Error: problem is not available'
45 43 else
46 44 submission.problem_id = problem.id if submission.problem_id == -1
47 45 submission.source = source
48 46 submission.language_id = lang.id
49 47 submission.submitted_at = Time.new
50 48 if submission.save == false
51 49 flash[:notice] = 'Error saving your submission'
52 50 elsif Task.create(:submission_id => submission.id) == false
53 51 flash[:notice] = 'Error adding your submission to task queue'
54 52 end
55 53 end
56 54 redirect_to :action => 'list'
57 55 end
58 56
59 57 def get_source
60 58 submission = Submission.find(params[:id])
61 59 if submission.user_id == session[:user_id]
62 60 fname = submission.problem.name + '.' + submission.language.ext
63 61 send_data(submission.source,
64 62 {:filename => fname,
65 63 :type => 'text/plain'})
@@ -1,35 +1,35
1 1 # Methods added to this helper will be available to all templates in the application.
2 2 module ApplicationHelper
3 3
4 4 def user_header
5 5 options = ''
6 6 user = User.find(session[:user_id])
7 7
8 8 # main page
9 9 options += link_to_unless_current '[Main]',
10 10 :controller => 'main', :action => 'list'
11 11 options += ' '
12 12
13 13 # admin menu
14 - if user.admin?
14 + if (user!=nil) and (user.admin?)
15 15 options +=
16 16 (link_to_unless_current '[Problem admin]',
17 17 :controller => 'problems', :action => 'index') + ' '
18 18 options +=
19 19 (link_to_unless_current '[User admin]',
20 20 :controller => 'user_admin', :action => 'index') + ' '
21 21 options +=
22 22 (link_to_unless_current '[User stat]',
23 23 :controller => 'user_admin', :action => 'user_stat') + ' '
24 24 end
25 25
26 26 # general options
27 27 options += link_to_unless_current '[Settings]',
28 28 :controller => 'users', :action => 'index'
29 29 options += ' '
30 30 options +=
31 31 link_to('[Log out]', {:controller => 'main', :action => 'login'})
32 32 options
33 33 end
34 34
35 35 end
@@ -1,42 +1,44
1 1 <% content_for :head do %>
2 2 <%= stylesheet_link_tag 'scaffold' %>
3 3 <%= javascript_include_tag :defaults %>
4 4 <% end %>
5 5
6 6 <h1>Listing problems</h1>
7 7
8 8 <div class="usermenu">
9 9 <%= link_to 'Main', :controller => 'main', :action => 'list' %>
10 10 </div>
11 11
12 + <%= link_to 'New problem', :action => 'new' %><br/>
13 +
12 14 <table>
13 15 <tr>
14 16 <th>Name</th>
15 17 <th>Full name</th>
16 18 <th>Full score</th>
17 19 <th>Date added</th>
18 20 <th>Available</th>
19 21 </tr>
20 22
21 23 <% for problem in @problems %>
22 24 <tr>
23 25 <% @problem=problem %>
24 26 <td><%= in_place_editor_field :problem, :name, {}, :rows=>1 %>
25 27 <td><%= in_place_editor_field :problem, :full_name, {}, :rows=>1 %>
26 28 <td><%= in_place_editor_field :problem, :full_score, {}, :rows=>1 %>
27 29 <td><%= problem.date_added %>
28 30 <td><%= problem.available %>
29 31
30 32 <td><%= link_to '[Toggle]', :action => 'toggle_avail', :id => problem.id %></td>
31 33 <td><%= link_to '[Stat]', :action => 'stat', :id => problem.id %></td>
32 34 <td><%= link_to '[Show]', :action => 'show', :id => problem %></td>
33 35 <td><%= link_to '[Edit]', :action => 'edit', :id => problem %></td>
34 36 <td><%= link_to '[Destroy]', { :action => 'destroy', :id => problem }, :confirm => 'Are you sure?', :method => :post %></td>
35 37 </tr>
36 38 <% end %>
37 39 </table>
38 40
39 41
40 42 <br />
41 43
42 44 <%= link_to 'New problem', :action => 'new' %>
deleted file
You need to be logged in to leave comments. Login now