diff --git a/app/helpers/todos_helper.rb b/app/helpers/todos_helper.rb index 3611cc17..2cddf944 100644 --- a/app/helpers/todos_helper.rb +++ b/app/helpers/todos_helper.rb @@ -284,7 +284,16 @@ module TodosHelper url = {:controller => 'todos', :action => 'defer', :id => @todo.id, :days => days, :_source_view => (@source_view.underscore.gsub(/\s+/,'_') rescue "")} url[:_tag_name] = @tag_name if @source_view == 'tag' - link_to_remote image_tag("defer_#{days}.png", :alt => "Defer #{pluralize(days, 'day')}"), :url => url + + futuredate = (@todo.show_from || @todo.user.date) + days.days + if @todo.due && futuredate > @todo.due + return link_to_function( + image_tag("defer_#{days}.png", :alt => "Defer #{pluralize(days, 'day')}"), + "alert('Defer date is after due date. Please edit and adjust due date before deferring.')") + else + return link_to_remote( + image_tag("defer_#{days}.png", :alt => "Defer #{pluralize(days, 'day')}"), + :url => url) + end end - end