mirror of
https://github.com/rickbarrette/redmine_qbo.git
synced 2026-04-02 08:21:57 -04:00
Fixed eager loading issues
This commit is contained in:
@@ -80,16 +80,31 @@ class CustomersController < ApplicationController
|
|||||||
def show
|
def show
|
||||||
@customer = Customer.find_by_id(params[:id])
|
@customer = Customer.find_by_id(params[:id])
|
||||||
return render_404 unless @customer
|
return render_404 unless @customer
|
||||||
@issues = @customer.issues&.order(id: :desc)
|
|
||||||
@billing_address = address_to_s(@customer.billing_address)
|
@open_issues = @customer.issues
|
||||||
@shipping_address = address_to_s(@customer.shipping_address)
|
.joins(:status)
|
||||||
@closed_issues = (@issues - @issues.open)
|
.includes(:status, :project, :tracker, :priority)
|
||||||
@hours = 0
|
.where(issue_statuses: { is_closed: false })
|
||||||
@closed_hours = 0
|
.order(id: :desc)
|
||||||
@issues.open.each { |i| @hours+= i.total_spent_hours }
|
|
||||||
@closed_issues.each { |i| @closed_hours+= i.total_spent_hours }
|
@closed_issues = @customer.issues
|
||||||
|
.joins(:status)
|
||||||
|
.includes(:status, :project, :tracker, :priority)
|
||||||
|
.where(issue_statuses: { is_closed: true })
|
||||||
|
.order(id: :desc)
|
||||||
|
|
||||||
|
@hours = TimeEntry
|
||||||
|
.joins(:issue)
|
||||||
|
.where(issues: { id: @open_issues.select(:id) })
|
||||||
|
.sum(:hours)
|
||||||
|
|
||||||
|
@closed_hours = TimeEntry
|
||||||
|
.joins(:issue)
|
||||||
|
.where(issues: { id: @closed_issues.select(:id) })
|
||||||
|
.sum(:hours)
|
||||||
|
|
||||||
rescue => e
|
rescue => e
|
||||||
log "Failed to load customer ##{params[:id]}: #{e.message}"
|
Rails.logger.error "Failed to load customer ##{params[:id]}: #{e.message}\n#{e.backtrace.join("\n")}"
|
||||||
flash[:error] = e.message
|
flash[:error] = e.message
|
||||||
render_404
|
render_404
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -46,8 +46,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
<h3><%=@issues.open.count%> <%=t(:label_open_issues)%> - <%=@hours.round(1)%> <%=t(:label_hours)%></h3>
|
<h3><%=@open_issues.count%> <%=t(:label_open_issues)%> - <%=@hours.round(1)%> <%=t(:label_hours)%></h3>
|
||||||
<%= render partial: 'issues/list_simple', locals: {issues: @issues.open} %>
|
<%= render partial: 'issues/list_simple', locals: {issues: @open_issues.open} %>
|
||||||
|
|
||||||
<h3><%=@closed_issues.count%> <%=t(:label_closed_issues)%> - <%= @closed_hours.round(1)%> <%=t(:label_hours)%></h3>
|
<h3><%=@closed_issues.count%> <%=t(:label_closed_issues)%> - <%= @closed_hours.round(1)%> <%=t(:label_hours)%></h3>
|
||||||
<%= render partial: 'issues/list_simple', locals: {issues: @closed_issues} %>
|
<%= render partial: 'issues/list_simple', locals: {issues: @closed_issues} %>
|
||||||
|
|||||||
Reference in New Issue
Block a user