# HG changeset patch # User jittat # Date 2008-10-29 01:30:58 # Node ID 5e03edcd8c25ee32f39b3dbffc52b8013628eeca # Parent b29d8a0527aca97bc32ebcdcfa20c5d8034de826 fixed avail bug for ajax toggle git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@287 6386c4cd-e34a-4fa8-8920-d93eb39b512e diff --git a/app/controllers/problems_controller.rb b/app/controllers/problems_controller.rb --- a/app/controllers/problems_controller.rb +++ b/app/controllers/problems_controller.rb @@ -82,9 +82,13 @@ end def toggle - @problem = Problem.find(params[:id]) - @problem.available = !(@problem.available) - @problem.save + respond_to do |wants| + wants.js { + @problem = Problem.find(params[:id]) + @problem.available = !(@problem.available) + @problem.save + } + end end def turn_all_off diff --git a/app/views/problems/list.rhtml b/app/views/problems/list.rhtml --- a/app/views/problems/list.rhtml +++ b/app/views/problems/list.rhtml @@ -29,7 +29,7 @@ <%= in_place_editor_field :problem, :full_name, {}, :rows=>1 %> <%= in_place_editor_field :problem, :full_score, {}, :rows=>1 %> <%= problem.date_added %> - <%= problem.available %> + <%= problem.available %> <%= problem.test_allowed %> <%= link_to_remote '[Toggle]', :url => {:action => 'toggle', :id => problem.id } %> diff --git a/app/views/problems/toggle.js.rjs b/app/views/problems/toggle.js.rjs --- a/app/views/problems/toggle.js.rjs +++ b/app/views/problems/toggle.js.rjs @@ -2,4 +2,5 @@ page["prob-#{@problem.id}"].className = "available" else page["prob-#{@problem.id}"].className = "not-available" -end \ No newline at end of file +end +page["prob-#{@problem.id}-avail"].innerHTML = @problem.available.to_s