Description:
more styling git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@158 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

r78:822d6c35aada - - 12 files changed: 68 inserted, 45 deleted

@@ -0,0 +1,22
1 + = user_title_bar(@user)
2 +
3 + .submitbox
4 + = error_messages_for 'submission'
5 + = render :partial => 'submission_box'
6 +
7 +
8 + %hr/
9 +
10 + %table.info
11 + %tr.info-head
12 + %th
13 + %th Tasks
14 + %th # of sub(s)
15 + %th Results
16 + = render :partial => 'problem', :collection => @problems
17 +
18 + %hr
19 +
20 + .submitbox
21 + = render :partial => 'submission_box'
22 +
@@ -1,44 +1,41
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 14 saved_notice = flash[:notice]
15 15 reset_session
16 16 flash[:notice] = saved_notice
17 17
18 - @title = Configuration['ui.front.title']
19 - @welcome = Configuration['ui.front.welcome_message']
20 -
21 18 render :action => 'login', :layout => 'empty'
22 19 end
23 20
24 21 def list
25 22 prepare_list_information
26 23 end
27 24
28 25 def submit
29 26 @submission = Submission.new(params[:submission])
30 27 @submission.user_id = session[:user_id]
31 28 @submission.language_id = 0
32 29 @submission.source = params['file'].read if params['file']!=''
33 30 @submission.submitted_at = Time.new
34 31 if @submission.valid?
35 32 if @submission.save == false
36 33 flash[:notice] = 'Error saving your submission'
37 34 elsif Task.create(:submission_id => @submission.id,
38 35 :status => Task::STATUS_INQUEUE) == false
39 36 flash[:notice] = 'Error adding your submission to task queue'
40 37 end
41 38 else
42 39 prepare_list_information
43 40 render :action => 'list' and return
44 41 end
@@ -22,25 +22,42
22 22 append_to menu_items, '[Test]', 'test', 'index'
23 23 append_to menu_items, '[Settings]', 'users', 'index'
24 24 append_to menu_items, '[Log out]', 'main', 'login'
25 25
26 26 menu_items
27 27 end
28 28
29 29 def append_to(option,label, controller, action)
30 30 option << ' ' if option!=''
31 31 option << link_to_unless_current(label,
32 32 :controller => controller,
33 33 :action => action)
34 34 end
35 35
36 36 def format_short_time(time)
37 37 now = Time.now
38 38 st = ''
39 39 if (time.yday != now.yday) or
40 40 (time.year != now.year)
41 41 st = time.strftime("%x ")
42 42 end
43 43 st + time.strftime("%X")
44 44 end
45 45
46 +
47 + def user_title_bar(user)
48 + <<TITLEBAR
49 + <div class="title">
50 + <table>
51 + <tr>
52 + <td class="left-col">
53 + #{user.full_name}<br/>
54 + Current time is #{format_short_time(Time.new)}<br/>
55 + </td>
56 + <td class="right-col">APIO'08</td>
57 + </tr>
58 + </table>
59 + </div>
60 + TITLEBAR
46 61 end
62 +
63 + 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 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 - <p style="color: green"><%= flash[:notice] %></p>
17 + <%= content_tag(:p,flash[:notice],:style => "color:green") if flash[:notice]!=nil %>
18 18
19 19 <%= yield %>
20 20
21 21 </body>
22 22 </html>
@@ -1,18 +1,18
1 1
2 2 %tr{:class => ((submission_counter%2==0) ? "info-even" : "info-odd")}
3 3 %td.info{:align => "center"}
4 4 = submission_counter+1
5 5 %td.info= format_short_time(submission.submitted_at)
6 6 %td.info{:align => "center"}
7 7 = link_to('[load]',{:action => 'source', :id => submission.id})
8 8 %td.info
9 9 - if submission.graded_at!=nil
10 10 = "Graded at #{format_short_time(submission.graded_at)}."
11 11 %br/
12 - = "Score: #{submission.points} "
12 + = "Score: #{submission.points} " if Configuration['ui.show_score']
13 13 = " ["
14 14 %tt
15 15 = submission.grader_comment
16 16 = "]"
17 17 %td.info
18 18 = render :partial => 'compiler_message', :locals => {:compiler_message => submission.compiler_message }
@@ -1,20 +1,20
1 1
2 2 - if submission==nil
3 3 = "-"
4 4 - else
5 5 - if submission.graded_at==nil
6 6 Submitted at
7 7 = format_short_time(submission.submitted_at)
8 8 - else
9 9 = "Graded at #{format_short_time(submission.graded_at)}, "
10 - = "score: #{submission.points} "
10 + = "score: #{submission.points} " if Configuration['ui.show_score']
11 11 = " ["
12 12 %tt
13 13 = submission.grader_comment
14 14 = "]"
15 15 = " | "
16 16 = link_to('[msg]', {:action => 'compiler_msg', :id => submission.id}, {:popup => true})
17 17 = " | "
18 18 = link_to('[source]',{:action => 'source', :id => submission.id})
19 19 = " | "
20 20 = link_to '[submissions]', :action => 'submission', :id => problem_name
@@ -1,25 +1,25
1 - <h1><%= @title %></h1>
1 + <h1><%= Configuration['ui.front.title'] %></h1>
2 2
3 - <b><%= @welcome %></b><br/>
3 + <b><%= Configuration['ui.front.welcome_message'] %></b><br/>
4 4 Please login to see the problem list.<br/><br/>
5 5
6 6 <% if flash[:notice] %>
7 7 <hr>
8 8 <b><%= flash[:notice] %></b>
9 9 <hr>
10 10 <% end %>
11 11
12 12 <div style="border: solid 1px gray; padding: 2px; background: #f0f0f0;">
13 13 <% form_tag :controller => 'login', :action => 'login' do %>
14 14 <table>
15 15 <tr>
16 16 <td align="right">User name:</td><td><%= text_field_tag 'login' %></td>
17 17 </tr>
18 18 <tr>
19 19 <td align="right">Password:</td><td><%= password_field_tag %></td>
20 20 </tr>
21 21 </table>
22 22 <%= submit_tag 'Login' %>
23 23 <% end %>
24 24 </div>
25 25
@@ -1,30 +1,24
1 - .title
2 - Hello
3 - =h @user.full_name
4 -
5 - Current time is
6 - = format_short_time(Time.new)
7 - %br/
1 + = user_title_bar(@user)
8 2
9 3 .task-menu
10 4 Task List
11 5 %br/
12 6 - @problems.each do |problem|
13 7 = link_to problem.name, :action => 'submission', :id => problem.name
14 8
15 9 - if @problem!=nil
16 10 %h2= "Task: #{@problem.full_name} (#{@problem.name})"
17 11
18 12 - if @submissions!=nil
19 13 - if @submissions.length>0
20 14 %table.info
21 15 %tr.info-head
22 16 %th.info #
23 17 %th.info At
24 18 %th.info Source
25 19 %th.info Result
26 20 %th.info{:width => "300px"}
27 21 Compiler message
28 22 = render :partial => 'submission', :collection => @submissions
29 23 - else
30 24 No submission
@@ -1,24 +1,26
1 + <%= user_title_bar(@user) %>
2 +
1 3 <h2>Test Interface</h2>
2 4
3 5 <% if @problems.length==0 %>
4 6 There is no submission
5 7 <% else %>
6 8
7 9 <script type="text/javascript">
8 10 var submissionCount = new Array();
9 11 <% @submissions.each do |submission| %>
10 12 submissionCount[<%= submission.problem_id %>]=<%= submission.number %>;
11 13 <% end %>
12 14
13 15 function updateSubmissionList() {
14 16 currentProb = document.getElementById("test_request_problem_id").value;
15 17 count = submissionCount[currentProb];
16 18 submissionSelect = document.getElementById("test_request_submission_number");
17 19 old_len = submissionSelect.length;
18 20 // clear the box
19 21 for(i=0; i<old_len; i++)
20 22 submissionSelect.remove(0);
21 23 for(i=count; i>=1; i--) {
22 24 try {
23 25 submissionSelect.add(new Option(""+i,""+i,false,false),null);
24 26 } catch(ex) {
@@ -1,28 +1,29
1 -
2 1 - content_for :head do
3 2 = javascript_include_tag :defaults
4 3
4 + = user_title_bar(@user)
5 +
5 6 %h1 Your account settings
6 7
7 8 %p
8 9 You can edit your alias and e-mails. Just click on the text and edit it.
9 10
10 11
11 12 %table.uinfo
12 13 %tr
13 14 %th.uinfo Login
14 15 %td.uinfo= @user.login
15 16 %tr
16 17 %th.uinfo Full name
17 18 %td.uinfo= @user.full_name
18 19 %tr
19 20 %th.uinfo Alias
20 21 %td.uinfo= in_place_editor_field :user, 'alias_for_editing', {}, :rows => 1
21 22 %tr
22 23 %th.uinfo E-mail
23 24 %td.uinfo= in_place_editor_field :user, 'email_for_editing', {}, :rows => 1
24 25 %tr
25 26 %th.uinfo Password
26 27 %td.uinfo
27 28 - form_tag :action => 'chg_passwd', :method => 'post' do
28 29 %table
@@ -1,43 +1,59
1 1 /* Normal text */
2 2 p {
3 3 font-size: 12px;
4 4 }
5 5
6 6 /* This is the main menu bad*/
7 7 div.userbar {
8 8 border-top: thin solid grey;
9 9 border-bottom: thin solid grey;
10 10 text-align: right;
11 11 font-size: 12px;
12 12 }
13 13
14 14 /* This is the top bar, displaying user's full name */
15 15 div.title {
16 - font-size: 20px;
17 - font-weight: bold;
18 - background: lightgreen;
16 + font-size: 12px;
17 + background: #ddffdd;
18 + border: 1px solid black;
19 19 padding: 2px;
20 + margin-top: 3px;
21 + margin-bottom: 5px;
22 + }
23 +
24 + div.title table {
25 + width: 100%;
26 + }
27 +
28 + div.title td.left-col {
29 + text-align: left;
30 + vertical-align: top;
31 + }
32 +
33 + div.title td.right-col {
34 + text-align: right;
35 + vertical-align: top;
20 36 }
21 37
22 38 /* Standard table with header and rows with alternating background */
23 39 table.info {
24 40 border: 1px solid black;
25 41 border-collapse: collapse;
26 42 font-size: 12px;
27 43 }
28 44
29 45 table.info th {
30 46 border: 1px solid black;
31 47 }
32 48
33 49 table.info td {
34 50 border-left: 1px solid black;
35 51 border-right: 1px solid black;
36 52 }
37 53
38 54 tr.info-head {
39 55 background: #777777;
40 56 color: white;
41 57 }
42 58
43 59 tr.info-odd {
deleted file
You need to be logged in to leave comments. Login now