From b16ff933cbde32582296e8e0bd14ee1741c50812 Mon Sep 17 00:00:00 2001 From: lukemelia Date: Mon, 26 Nov 2007 02:58:21 +0000 Subject: [PATCH] Eliminated double UPDATE when marking actions done or not done. Eliminated query for count of complete Todos in cases where it is not used. git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@658 a4c988fc-2ded-0310-b66e-134b36920a42 --- tracks/app/controllers/todos_controller.rb | 5 ++--- tracks/app/models/todo.rb | 6 ++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/tracks/app/controllers/todos_controller.rb b/tracks/app/controllers/todos_controller.rb index 3d1129d1..a361e235 100644 --- a/tracks/app/controllers/todos_controller.rb +++ b/tracks/app/controllers/todos_controller.rb @@ -106,14 +106,13 @@ class TodosController < ApplicationController # Toggles the 'done' status of the action # def toggle_check - @todo.toggle_completion! - @saved = @todo.save + @saved = @todo.toggle_completion! respond_to do |format| format.js do if @saved determine_remaining_in_context_count(@todo.context_id) determine_down_count - determine_completed_count + determine_completed_count if @todo.completed? end render end diff --git a/tracks/app/models/todo.rb b/tracks/app/models/todo.rb index 60c453fb..7fae09b6 100644 --- a/tracks/app/models/todo.rb +++ b/tracks/app/models/todo.rb @@ -51,11 +51,13 @@ class Todo < ActiveRecord::Base end def toggle_completion! + saved = false if completed? - activate! + saved = activate! else - complete! + saved = complete! end + return saved end def activate_and_save!