Description:
clean up layouts
git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@49 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
r25:e58005f0efd2 - - 11 files changed: 51 inserted, 67 deleted
@@ -0,0 +1,15 | |||
|
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 | + </head> | |
|
10 | + <body> | |
|
11 | + | |
|
12 | + <%= yield %> | |
|
13 | + | |
|
14 | + </body> | |
|
15 | + </html> |
@@ -1,67 +1,66 | |||
|
1 | 1 | class MainController < ApplicationController |
|
2 | 2 | |
|
3 | 3 | before_filter :authenticate, :except => [:index, :login] |
|
4 | 4 | |
|
5 | 5 | verify :method => :post, :only => [:submit], |
|
6 | 6 | :redirect_to => { :action => :index } |
|
7 | 7 | |
|
8 | 8 | |
|
9 | 9 | def index |
|
10 | 10 | redirect_to :action => 'login' |
|
11 | 11 | end |
|
12 | 12 | |
|
13 | 13 | def login |
|
14 |
- MainController.layout ' |
|
|
14 | + MainController.layout 'empty' | |
|
15 | 15 | reset_session |
|
16 | 16 | end |
|
17 | 17 | |
|
18 | 18 | def list |
|
19 | - MainController.layout 'application' | |
|
20 | 19 | @problems = Problem.find_available_problems |
|
21 | 20 | @prob_submissions = Array.new |
|
22 | 21 | @user = User.find(session[:user_id]) |
|
23 | 22 | @problems.each do |p| |
|
24 | 23 | c, sub = Submission.find_by_user_and_problem(@user.id,p.id) |
|
25 | 24 | @prob_submissions << [c,sub] |
|
26 | 25 | end |
|
27 | 26 | end |
|
28 | 27 | |
|
29 | 28 | def submit |
|
30 | 29 | submission = Submission.new(params[:submission]) |
|
31 | 30 | submission.user_id = session[:user_id] |
|
32 | 31 | submission.language_id = 0 |
|
33 | 32 | source = params['file'].read |
|
34 | 33 | if source.length > 100_000 |
|
35 | 34 | flash[:notice] = 'Error: file too long' |
|
36 | 35 | elsif (lang = Submission.find_language_in_source(source))==nil |
|
37 | 36 | flash[:notice] = 'Error: cannot determine language used' |
|
38 | 37 | elsif ((submission.problem_id==-1) and |
|
39 | 38 | !(problem=Submission.find_problem_in_source(source))) |
|
40 | 39 | flash[:notice] = 'Error: cannot determine problem submitted' |
|
41 | 40 | elsif ((submission.problem_id==-1) and |
|
42 | 41 | (problem.available == false)) |
|
43 | 42 | flash[:notice] = 'Error: problem is not available' |
|
44 | 43 | else |
|
45 | 44 | submission.problem_id = problem.id if submission.problem_id == -1 |
|
46 | 45 | submission.source = source |
|
47 | 46 | submission.language_id = lang.id |
|
48 | 47 | submission.submitted_at = Time.new |
|
49 | 48 | if submission.save == false |
|
50 | 49 | flash[:notice] = 'Error saving your submission' |
|
51 | 50 | elsif Task.create(:submission_id => submission.id) == false |
|
52 | 51 | flash[:notice] = 'Error adding your submission to task queue' |
|
53 | 52 | end |
|
54 | 53 | end |
|
55 | 54 | redirect_to :action => 'list' |
|
56 | 55 | end |
|
57 | 56 | |
|
58 | 57 | def get_source |
|
59 | 58 | submission = Submission.find(params[:id]) |
|
60 | 59 | if submission.user_id == session[:user_id] |
|
61 | 60 | fname = submission.problem.name + '.' + submission.language.ext |
|
62 | 61 | send_data(submission.source, |
|
63 | 62 | {:filename => fname, |
|
64 | 63 | :type => 'text/plain'}) |
|
65 | 64 | else |
|
66 | 65 | flash[:notice] = 'Error viewing source' |
|
67 | 66 | end |
@@ -1,24 +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 | - if user.admin? | |
|
8 | - options = options + ' ' + | |
|
9 | - (link_to_unless_current '[Problem admin]', | |
|
10 | - :controller => 'problems', :action => 'index') | |
|
11 | - options = options + ' ' + | |
|
12 | - (link_to_unless_current '[User admin]', | |
|
13 | - :controller => 'user_admin', :action => 'index') | |
|
14 | - end | |
|
7 | + | |
|
8 | + # main page | |
|
15 | 9 | options += link_to_unless_current '[Main]', |
|
16 | 10 | :controller => 'main', :action => 'list' |
|
11 | + options += ' ' | |
|
12 | + | |
|
13 | + # admin menu | |
|
14 | + if user.admin? | |
|
15 | + options += | |
|
16 | + (link_to_unless_current '[Problem admin]', | |
|
17 | + :controller => 'problems', :action => 'index') + ' ' | |
|
18 | + options += | |
|
19 | + (link_to_unless_current '[User admin]', | |
|
20 | + :controller => 'user_admin', :action => 'index') + ' ' | |
|
21 | + options += | |
|
22 | + (link_to_unless_current '[User stat]', | |
|
23 | + :controller => 'user_admin', :action => 'user_stat') + ' ' | |
|
24 | + end | |
|
25 | + | |
|
26 | + # general options | |
|
17 | 27 | options += link_to_unless_current '[Settings]', |
|
18 | 28 | :controller => 'users', :action => 'index' |
|
19 |
- options = |
|
|
29 | + options += ' ' | |
|
30 | + options += | |
|
20 | 31 | link_to('[Log out]', {:controller => 'main', :action => 'login'}) |
|
21 | 32 | options |
|
22 | 33 | end |
|
23 | 34 | |
|
24 | 35 | end |
@@ -1,22 +1,22 | |||
|
1 | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
|
2 | 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|
3 | 3 | |
|
4 | 4 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
|
5 | 5 | <head> |
|
6 | 6 | <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> |
|
7 | 7 | <title>Grader!</title> |
|
8 | 8 | <%= stylesheet_link_tag 'application' %> |
|
9 | - <%= javascript_include_tag :defaults %> | |
|
9 | + <%= yield :head %> | |
|
10 | 10 | </head> |
|
11 | 11 | <body> |
|
12 | 12 | |
|
13 | 13 | <div class="userbar"> |
|
14 | 14 | <%= user_header %> |
|
15 | 15 | </div> |
|
16 | 16 | |
|
17 | 17 | <p style="color: green"><%= flash[:notice] %></p> |
|
18 | 18 | |
|
19 | 19 | <%= yield %> |
|
20 | 20 | |
|
21 | 21 | </body> |
|
22 | 22 | </html> |
@@ -1,37 +1,42 | |||
|
1 | + <% content_for :head do %> | |
|
2 | + <%= stylesheet_link_tag 'scaffold' %> | |
|
3 | + <%= javascript_include_tag :defaults %> | |
|
4 | + <% end %> | |
|
5 | + | |
|
1 | 6 | <h1>Listing problems</h1> |
|
2 | 7 | |
|
3 | 8 | <div class="usermenu"> |
|
4 | 9 | <%= link_to 'Main', :controller => 'main', :action => 'list' %> |
|
5 | 10 | </div> |
|
6 | 11 | |
|
7 | 12 | <table> |
|
8 | 13 | <tr> |
|
9 | 14 | <th>Name</th> |
|
10 | 15 | <th>Full name</th> |
|
11 | 16 | <th>Full score</th> |
|
12 | 17 | <th>Date added</th> |
|
13 | 18 | <th>Available</th> |
|
14 | 19 | </tr> |
|
15 | 20 | |
|
16 | 21 | <% for problem in @problems %> |
|
17 | 22 | <tr> |
|
18 | 23 | <% @problem=problem %> |
|
19 | 24 | <td><%= in_place_editor_field :problem, :name, {}, :rows=>1 %> |
|
20 | 25 | <td><%= in_place_editor_field :problem, :full_name, {}, :rows=>1 %> |
|
21 | 26 | <td><%= in_place_editor_field :problem, :full_score, {}, :rows=>1 %> |
|
22 | 27 | <td><%= problem.date_added %> |
|
23 | 28 | <td><%= problem.available %> |
|
24 | 29 | |
|
25 | 30 | <td><%= link_to '[Toggle]', :action => 'toggle_avail', :id => problem.id %></td> |
|
26 | 31 | <td><%= link_to '[Stat]', :action => 'stat', :id => problem.id %></td> |
|
27 | 32 | <td><%= link_to '[Show]', :action => 'show', :id => problem %></td> |
|
28 | 33 | <td><%= link_to '[Edit]', :action => 'edit', :id => problem %></td> |
|
29 | 34 | <td><%= link_to '[Destroy]', { :action => 'destroy', :id => problem }, :confirm => 'Are you sure?', :method => :post %></td> |
|
30 | 35 | </tr> |
|
31 | 36 | <% end %> |
|
32 | 37 | </table> |
|
33 | 38 | |
|
34 | 39 | |
|
35 | 40 | <br /> |
|
36 | 41 | |
|
37 | 42 | <%= link_to 'New problem', :action => 'new' %> |
@@ -1,54 +1,53 | |||
|
1 | - <h1>Listing users</h1> | |
|
1 | + <% content_for :head do %> | |
|
2 | + <%= stylesheet_link_tag 'scaffold' %> | |
|
3 | + <% end %> | |
|
2 | 4 | |
|
3 | - <div class="usermenu"> | |
|
4 | - <%= link_to 'Stat', :action => 'user_stat' %> | |
|
5 | - <%= link_to 'Main', :controller => 'main', :action => 'list' %> | |
|
6 | - </div> | |
|
5 | + <h1>Listing users</h1> | |
|
7 | 6 | |
|
8 | 7 | <div style="border: solid 1px; margin: 2px"> |
|
9 | 8 | <b>Quick add</b> |
|
10 | 9 | <% form_tag :action => 'create' do %> |
|
11 | 10 | <table border="0"> |
|
12 | 11 | <tr> |
|
13 | 12 | <td><label for="user_name">Login</label></td> |
|
14 | 13 | <td><label for="user_name">Full name</label></td> |
|
15 | 14 | <td><label for="user_alias">Alias</label></td> |
|
16 | 15 | <td><label for="password">Password</label></td> |
|
17 | 16 | <td><label for="password_confirmation">confirm</label></td> |
|
18 | 17 | </tr> |
|
19 | 18 | <tr> |
|
20 | 19 | <td><%= text_field 'user', 'login', :size => 10 %></td> |
|
21 | 20 | <td><%= text_field 'user', 'full_name', :size => 30 %></td> |
|
22 | 21 | <td><%= text_field 'user', 'alias', :size => 10 %></td> |
|
23 | 22 | <td><%= password_field 'user', 'password', :size => 10 %></td> |
|
24 | 23 | <td><%= password_field 'user', 'password_confirmation', :size => 10 %></td> |
|
25 | 24 | <td><%= submit_tag "Create" %></td> |
|
26 | 25 | </tr></table> |
|
27 | 26 | <% end %> |
|
28 | 27 | |
|
29 | 28 | </div> |
|
30 | 29 | |
|
31 | 30 | <table> |
|
32 | 31 | <tr> |
|
33 | 32 | <% for column in User.content_columns %> |
|
34 | 33 | <th><%= column.human_name %></th> |
|
35 | 34 | <% end %> |
|
36 | 35 | </tr> |
|
37 | 36 | |
|
38 | 37 | <% for user in @users %> |
|
39 | 38 | <tr> |
|
40 | 39 | <% for column in User.content_columns %> |
|
41 | 40 | <td><%=h user.send(column.name) %></td> |
|
42 | 41 | <% end %> |
|
43 | 42 | <td><%= link_to 'Show', :action => 'show', :id => user %></td> |
|
44 | 43 | <td><%= link_to 'Edit', :action => 'edit', :id => user %></td> |
|
45 | 44 | <td><%= link_to 'Destroy', { :action => 'destroy', :id => user }, :confirm => 'Are you sure?', :method => :post %></td> |
|
46 | 45 | </tr> |
|
47 | 46 | <% end %> |
|
48 | 47 | </table> |
|
49 | 48 | |
|
50 | 49 | |
|
51 | 50 | <br /> |
|
52 | 51 | |
|
53 | 52 | <%= link_to 'New user', :action => 'new' %> |
|
54 | 53 | <%= link_to 'New list of users', :action => 'new_list' %> |
@@ -1,8 +1,10 | |||
|
1 | + <h1>User information</h1> | |
|
2 | + | |
|
1 | 3 | <% for column in User.content_columns %> |
|
2 | 4 | <p> |
|
3 | 5 | <b><%= column.human_name %>:</b> <%=h @user.send(column.name) %> |
|
4 | 6 | </p> |
|
5 | 7 | <% end %> |
|
6 | 8 | |
|
7 | 9 | <%= link_to 'Edit', :action => 'edit', :id => @user %> | |
|
8 | 10 | <%= link_to 'Back', :action => 'list' %> |
@@ -1,35 +1,38 | |||
|
1 | + | |
|
2 | + - content_for :head do | |
|
3 | + = javascript_include_tag :defaults | |
|
1 | 4 | |
|
2 | 5 | %h1 Your account settings |
|
3 | 6 | |
|
4 | 7 | %p |
|
5 | 8 | You can edit your alias and e-mails. Just click on the text and edit it. |
|
6 | 9 | |
|
7 | 10 | |
|
8 | 11 | %table.uinfo |
|
9 | 12 | %tr |
|
10 | 13 | %th.uinfo Login |
|
11 | 14 | %td.uinfo= @user.login |
|
12 | 15 | %tr |
|
13 | 16 | %th.uinfo Full name |
|
14 | 17 | %td.uinfo= @user.full_name |
|
15 | 18 | %tr |
|
16 | 19 | %th.uinfo Alias |
|
17 | 20 | %td.uinfo= in_place_editor_field :user, 'alias_for_editing', {}, :rows => 1 |
|
18 | 21 | %tr |
|
19 | 22 | %th.uinfo E-mail |
|
20 | 23 | %td.uinfo= in_place_editor_field :user, 'email_for_editing', {}, :rows => 1 |
|
21 | 24 | %tr |
|
22 | 25 | %th.uinfo Password |
|
23 | 26 | %td.uinfo |
|
24 | 27 | - form_tag :action => 'chg_passwd', :method => 'post' do |
|
25 | 28 | %table |
|
26 | 29 | %tr |
|
27 | 30 | %td= password_field_tag 'passwd' |
|
28 | 31 | %td (new) |
|
29 | 32 | %tr |
|
30 | 33 | %td= password_field_tag 'passwd_verify' |
|
31 | 34 | %td (verify) |
|
32 | 35 | %tr |
|
33 | 36 | %td{:colspan => "2"} |
|
34 | 37 | = submit_tag 'change password' |
|
35 | 38 |
deleted file |
deleted file |
deleted file |
You need to be logged in to leave comments.
Login now