Make ActiveRecord query calls compatible with AR4

This commit is contained in:
Paul van Tilburg 2014-10-18 21:25:26 +02:00
parent 97b6098bcd
commit 3e1ed8af58
1 changed files with 19 additions and 11 deletions

View File

@ -215,7 +215,7 @@ module StopTime::Models
# Returns a list of tasks that have not been billed via in invoice. # Returns a list of tasks that have not been billed via in invoice.
def unbilled_tasks def unbilled_tasks
tasks.all(:conditions => ["invoice_id IS NULL"], :order => "name ASC") tasks.where("invoice_id IS NULL").order("name ASC")
end end
end end
@ -261,7 +261,7 @@ module StopTime::Models
# Returns a list of time entries that should be (and are not yet) # Returns a list of time entries that should be (and are not yet)
# billed. # billed.
def billable_time_entries def billable_time_entries
time_entries.all(:conditions => ["bill = 't'"], :order => "start ASC") time_entries.where("bill = 't'").order("start ASC")
end end
# Returns the bill period of the task by means of an Array containing # Returns the bill period of the task by means of an Array containing
@ -377,7 +377,7 @@ module StopTime::Models
has_many :time_entries, :through => :tasks has_many :time_entries, :through => :tasks
belongs_to :customer belongs_to :customer
belongs_to :company_info belongs_to :company_info
default_scope order('number DESC') default_scope lambda { order('number DESC') }
# Returns a time and cost summary of the contained tasks (Hash of # Returns a time and cost summary of the contained tasks (Hash of
# Task to Array). # Task to Array).
@ -749,7 +749,7 @@ module StopTime::Controllers
class Customers class Customers
# Gets the list of customers and displays them via Views#customers. # Gets the list of customers and displays them via Views#customers.
def get def get
@customers = Customer.all(:order => "name ASC") @customers = Customer.order("name ASC")
render :customers render :customers
end end
@ -812,7 +812,7 @@ module StopTime::Controllers
def get(customer_id) def get(customer_id)
@customer = Customer.find(customer_id) @customer = Customer.find(customer_id)
@input = @customer.attributes @input = @customer.attributes
@tasks = @customer.tasks.all(:order => "name, invoice_id ASC") @tasks = @customer.tasks.order("name ASC, invoice_id ASC")
# FIXME: this dirty hack assumes that tasks have unique names, # FIXME: this dirty hack assumes that tasks have unique names,
# becasue there is no reference from billed tasks to its original # becasue there is no reference from billed tasks to its original
# task. # task.
@ -912,7 +912,7 @@ module StopTime::Controllers
@errors = @task.errors @errors = @task.errors
@customer = Customer.find(customer_id) @customer = Customer.find(customer_id)
@customer_list = Customer.all.map { |c| [c.id, c.shortest_name] } @customer_list = Customer.all.map { |c| [c.id, c.shortest_name] }
@time_entries = @task.time_entries.all(:order => "start DESC") @time_entries = @task.time_entries.order("start DESC")
@time_entries.each do |te| @time_entries.each do |te|
@input["bill_#{te.id}"] = true if te.bill? @input["bill_#{te.id}"] = true if te.bill?
end end
@ -966,7 +966,7 @@ module StopTime::Controllers
@customer = Customer.find(customer_id) @customer = Customer.find(customer_id)
@customer_list = Customer.all.map { |c| [c.id, c.shortest_name] } @customer_list = Customer.all.map { |c| [c.id, c.shortest_name] }
@task = Task.find(task_id) @task = Task.find(task_id)
@time_entries = @task.time_entries.all(:order => "start DESC") @time_entries = @task.time_entries.order("start DESC")
@input = @task.attributes @input = @task.attributes
@input["type"] = @task.type @input["type"] = @task.type
@ -1234,7 +1234,7 @@ module StopTime::Controllers
# the timeline using Views#time_entries # the timeline using Views#time_entries
def get def get
if @input["show"] == "all" if @input["show"] == "all"
@time_entries = TimeEntry.all(:order => "start DESC") @time_entries = TimeEntry.order("start DESC")
else else
@time_entries = TimeEntry.joins(:task)\ @time_entries = TimeEntry.joins(:task)\
.where("stoptime_tasks.invoice_id" => nil)\ .where("stoptime_tasks.invoice_id" => nil)\
@ -1323,7 +1323,7 @@ module StopTime::Controllers
@input["end"] = @time_entry.end.to_formatted_s(:time_only) @input["end"] = @time_entry.end.to_formatted_s(:time_only)
@customer_list = Customer.all.map { |c| [c.id, c.shortest_name] } @customer_list = Customer.all.map { |c| [c.id, c.shortest_name] }
@task_list = Hash.new { |h, k| h[k] = Array.new } @task_list = Hash.new { |h, k| h[k] = Array.new }
Task.all(:order => "name, invoice_id ASC").each do |t| Task.order("name ASC, invoice_id ASC").each do |t|
name = t.billed? ? t.name + " (#{t.invoice.number})" : t.name name = t.billed? ? t.name + " (#{t.invoice.number})" : t.name
@task_list[t.customer.shortest_name] << [t.id, name] @task_list[t.customer.shortest_name] << [t.id, name]
end end
@ -1418,7 +1418,11 @@ module StopTime::Controllers
# Retrieves the company information and shows a form for updating # Retrieves the company information and shows a form for updating
# via Views#company_form. # via Views#company_form.
def get def get
@company = CompanyInfo.find(@input.revision || :last) @company = if @input.revision.present?
CompanyInfo.find(@input.revision)
else
CompanyInfo.last
end
@input = @company.attributes @input = @company.attributes
@history_warn = true if @company != CompanyInfo.last @history_warn = true if @company != CompanyInfo.last
render :company_form render :company_form
@ -1428,7 +1432,11 @@ module StopTime::Controllers
# (Views#company_form). # (Views#company_form).
# If the provided information was invalid, the errors are retrieved. # If the provided information was invalid, the errors are retrieved.
def post def post
@company = CompanyInfo.find(@input.revision || :last) @company = if @input.revision.present?
CompanyInfo.find(@input.revision)
else
CompanyInfo.last
end
# If we are editing the current info and it is already associated # If we are editing the current info and it is already associated
# with some invoices, create a new revision. # with some invoices, create a new revision.
@history_warn = true if @company != CompanyInfo.last @history_warn = true if @company != CompanyInfo.last