Description:
[web] better ui for announcement and prob stat git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@195 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

r103:c7b351b3b685 - - 3 files changed: 6 inserted, 2 deleted

@@ -1,23 +1,24
1 1 class AnnouncementsController < ApplicationController
2 2
3 3 before_filter :authenticate
4 4 before_filter { |controller| controller.authorization_by_roles(['admin'])}
5 5
6 6 in_place_edit_for :announcement, :published
7 7
8 8 # GET /announcements
9 9 # GET /announcements.xml
10 10 def index
11 - @announcements = Announcement.find(:all)
11 + @announcements = Announcement.find(:all,
12 + :order => "created_at DESC")
12 13
13 14 respond_to do |format|
14 15 format.html # index.html.erb
15 16 format.xml { render :xml => @announcements }
16 17 end
17 18 end
18 19
19 20 # GET /announcements/1
20 21 # GET /announcements/1.xml
21 22 def show
22 23 @announcement = Announcement.find(params[:id])
23 24
@@ -21,25 +21,26
21 21 :problem_id => problem_id},
22 22 :order => 'number DESC')
23 23 return last_sub
24 24 end
25 25
26 26 def self.find_all_last_by_problem(problem_id)
27 27 # need to put in SQL command, maybe there's a better way
28 28 Submission.find_by_sql("SELECT * FROM submissions " +
29 29 "WHERE id = " +
30 30 "(SELECT MAX(id) FROM submissions AS subs " +
31 31 "WHERE subs.user_id = submissions.user_id AND " +
32 32 "problem_id = " + problem_id.to_s + " " +
33 - "GROUP BY user_id)")
33 + "GROUP BY user_id) " +
34 + "ORDER BY user_id")
34 35 end
35 36
36 37 def self.find_last_for_all_available_problems(user_id)
37 38 submissions = Array.new
38 39 problems = Problem.find_available_problems
39 40 problems.each do |problem|
40 41 sub = Submission.find_last_by_user_and_problem(user_id, problem.id)
41 42 submissions << sub if sub!=nil
42 43 end
43 44 submissions
44 45 end
45 46
@@ -1,19 +1,21
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 announcements</h1>
7 7
8 + <%= link_to 'New announcement', new_announcement_path %>
9 +
8 10 <table>
9 11 <tr>
10 12 <th>Body</th>
11 13 <th>Author</th>
12 14 <th>Published</th>
13 15 </tr>
14 16
15 17 <% for announcement in @announcements %>
16 18 <tr>
17 19 <% @announcement = announcement %>
18 20 <td><%=h announcement.body %></td>
19 21 <td><%=h announcement.author %></td>
You need to be logged in to leave comments. Login now