Description:
added announcement to frontpage git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@290 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

r151:2e9ddcc1b233 - - 7 files changed: 38 inserted, 5 deleted

@@ -34,24 +34,25
34 34 @country_select_with_all = [['Any',0]]
35 35 @countries.each do |country|
36 36 @country_select_with_all << [country.name, country.id]
37 37 end
38 38
39 39 @site_select = []
40 40 @countries.each do |country|
41 41 country.sites.each do |site|
42 42 @site_select << ["#{site.name}, #{country.name}", site.id]
43 43 end
44 44 end
45 45
46 + @announcements = Announcement.find_for_frontpage
46 47 render :action => 'login', :layout => 'empty'
47 48 end
48 49
49 50 def list
50 51 prepare_list_information
51 52 end
52 53
53 54 def help
54 55 @user = User.find(session[:user_id])
55 56 end
56 57
57 58 def submit
@@ -174,28 +175,25
174 175 def prepare_list_information
175 176 @problems = Problem.find_available_problems
176 177 @prob_submissions = Array.new
177 178 @user = User.find(session[:user_id])
178 179 @problems.each do |p|
179 180 sub = Submission.find_last_by_user_and_problem(@user.id,p.id)
180 181 if sub!=nil
181 182 @prob_submissions << { :count => sub.number, :submission => sub }
182 183 else
183 184 @prob_submissions << { :count => 0, :submission => nil }
184 185 end
185 186 end
186 -
187 - @announcements = Announcement.find(:all,
188 - :conditions => "published = 1",
189 - :order => "created_at DESC")
187 + @announcements = Announcement.find_published
190 188 end
191 189
192 190 def check_viewability
193 191 @user = User.find(session[:user_id])
194 192 if (!Configuration.show_tasks_to?(@user)) and
195 193 ((action_name=='submission') or (action_name=='submit'))
196 194 redirect_to :action => 'list' and return
197 195 end
198 196 end
199 197
200 198 def prepare_grading_result(submission)
201 199 grading_info = Configuration.task_grading_info[submission.problem.name]
@@ -1,2 +1,15
1 1 class Announcement < ActiveRecord::Base
2 +
3 + def self.find_published
4 + Announcement.find(:all,
5 + :conditions => "(published = 1) AND (frontpage = 0)",
6 + :order => "created_at DESC")
2 7 end
8 +
9 + def self.find_for_frontpage
10 + Announcement.find(:all,
11 + :conditions => "(published = 1) AND (frontpage = 1)",
12 + :order => "created_at DESC")
13 + end
14 +
15 + end
@@ -10,18 +10,23
10 10
11 11 <p>
12 12 <b>Author</b><br />
13 13 <%= f.text_field :author %>
14 14 </p>
15 15
16 16 <p>
17 17 <b>Published</b><br />
18 18 <%= f.check_box :published %>
19 19 </p>
20 20
21 21 <p>
22 + <b>Show on front page?</b><br />
23 + <%= f.check_box :frontpage %>
24 + </p>
25 +
26 + <p>
22 27 <%= f.submit "Update" %>
23 28 </p>
24 29 <% end %>
25 30
26 31 <%= link_to 'Show', @announcement %> |
27 32 <%= link_to 'Back', announcements_path %>
@@ -10,17 +10,22
10 10
11 11 <p>
12 12 <b>Author</b><br />
13 13 <%= f.text_field :author %>
14 14 </p>
15 15
16 16 <p>
17 17 <b>Published</b><br />
18 18 <%= f.check_box :published %>
19 19 </p>
20 20
21 21 <p>
22 + <b>Show on front page?</b><br />
23 + <%= f.check_box :frontpage %>
24 + </p>
25 +
26 + <p>
22 27 <%= f.submit "Create" %>
23 28 </p>
24 29 <% end %>
25 30
26 31 <%= link_to 'Back', announcements_path %>
@@ -4,15 +4,20
4 4 </p>
5 5
6 6 <p>
7 7 <b>Body:</b>
8 8 <%=h @announcement.body %>
9 9 </p>
10 10
11 11 <p>
12 12 <b>Published:</b>
13 13 <%=h @announcement.published %>
14 14 </p>
15 15
16 + <p>
17 + <b>Show on front page:</b>
18 + <%=h @announcement.frontpage %>
19 + </p>
20 +
16 21
17 22 <%= link_to 'Edit', edit_announcement_path(@announcement) %> |
18 23 <%= link_to 'Back', announcements_path %>
@@ -1,14 +1,20
1 1 %h1= Configuration['ui.front.title']
2 2
3 + - if @announcements.length!=0
4 + .announcementbox
5 + %span{:class => 'title'}
6 + Announcements
7 + = render :partial => 'announcement', :collection => @announcements
8 +
3 9 %b= Configuration['ui.front.welcome_message']
4 10 %br/
5 11 Please login to see the problem list.
6 12 %br/
7 13 %br/
8 14
9 15 - if flash[:notice]
10 16 %hr/
11 17 %b= flash[:notice]
12 18 %hr/
13 19
14 20 %div{ :style => "border: solid 1px gray; padding: 2px; background: #f0f0f0;"}
@@ -1,31 +1,32
1 1 # This file is auto-generated from the current state of the database. Instead of editing this file,
2 2 # please use the migrations feature of Active Record to incrementally modify your database, and
3 3 # then regenerate this schema definition.
4 4 #
5 5 # Note that this schema.rb definition is the authoritative source for your database schema. If you need
6 6 # to create the application database on another system, you should be using db:schema:load, not running
7 7 # all the migrations from scratch. The latter is a flawed and unsustainable approach (the more migrations
8 8 # you'll amass, the slower it'll run and the greater likelihood for issues).
9 9 #
10 10 # It's strongly recommended to check this file into your version control system.
11 11
12 - ActiveRecord::Schema.define(:version => 20081012050458) do
12 + ActiveRecord::Schema.define(:version => 20081107145815) do
13 13
14 14 create_table "announcements", :force => true do |t|
15 15 t.string "author"
16 16 t.text "body"
17 17 t.boolean "published"
18 18 t.datetime "created_at"
19 19 t.datetime "updated_at"
20 + t.boolean "frontpage", :default => false
20 21 end
21 22
22 23 create_table "configurations", :force => true do |t|
23 24 t.string "key"
24 25 t.string "value_type"
25 26 t.string "value"
26 27 t.datetime "created_at"
27 28 t.datetime "updated_at"
28 29 end
29 30
30 31 create_table "countries", :force => true do |t|
31 32 t.string "name"
You need to be logged in to leave comments. Login now