Sha256: 0065c1d8f2a03c2e3c86c60b4cfbc9503f9d41b28491db845499d12ebc40937e

Contents?: true

Size: 1.23 KB

Versions: 8

Compression:

Stored size: 1.23 KB

Contents

class EstimatesController < ApplicationController
  helper :tasks
  
  verify :method => :post, :redirect_to => ''
  
  def create
    @success, @message = do_create

    unless @success
      @task.errors.add :estimate, @message
      render :file => "public/500.html", :layout => true, :status => 500
      return
    end

    flash[:notice] = @message
    redirect_to :controller => 'periods', :action => :show, :id => @task.root_task.period, :task_id => @task.id
  end
  
  def create_ajax
    @task = Task.find_by_id(params[:id])
    @success, @message = do_create
    if @task.finished?
      render :template => '/tasks/finish', :layout => false
    end
  end
  
  private
  
  def do_create
    if params[:id]
      @task = Task.find(params[:id])
      if params[:estimate] && params[:estimate][:todo]
        begin
          Float(params[:estimate][:todo])
          @task.estimate(params[:estimate][:todo])
          @period = @task.period
          return true, 'Estimate updated'
          rescue ArgumentError => e
          return false, "Estimate was not numeric"
        end
      else
        return false, "Estimate is missing."
      end
    else
      @estimate = Estimate.new
      return false, 'Task id is missing.'
    end
  end
  
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
backlog-0.13.1 app/controllers/estimates_controller.rb
backlog-0.14.0 app/controllers/estimates_controller.rb
backlog-0.14.3 app/controllers/estimates_controller.rb
backlog-0.14.1 app/controllers/estimates_controller.rb
backlog-0.14.2 app/controllers/estimates_controller.rb
backlog-0.14.4 app/controllers/estimates_controller.rb
backlog-0.15.0 app/controllers/estimates_controller.rb
backlog-0.15.1 app/controllers/estimates_controller.rb