mirror of
https://github.com/rickbarrette/redmine_qbo_vehicles.git
synced 2026-08-18 21:20:43 -04:00
Add last service date and mileage methods to Vehicle model and update views
This commit is contained in:
@@ -33,6 +33,23 @@ class Vehicle < ApplicationRecord
|
|||||||
issues.includes(:invoices).flat_map(&:invoices).uniq.compact
|
issues.includes(:invoices).flat_map(&:invoices).uniq.compact
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def last_service
|
||||||
|
return issues
|
||||||
|
.joins(:custom_values)
|
||||||
|
.where(custom_values: { custom_field_id: CustomField.find_by(name: "Mileage")&.id })
|
||||||
|
.where.not(custom_values: { value: ['', nil] })
|
||||||
|
.order(created_on: :desc)
|
||||||
|
.first
|
||||||
|
end
|
||||||
|
|
||||||
|
def last_service_date
|
||||||
|
return last_service.created_on&.to_date
|
||||||
|
end
|
||||||
|
|
||||||
|
def last_service_mileage
|
||||||
|
return last_service&.custom_values&.find_by(custom_field_id: CustomField.find_by(name: "Mileage")&.id)&.value.presence
|
||||||
|
end
|
||||||
|
|
||||||
def make=(val)
|
def make=(val)
|
||||||
super(val.to_s.strip)
|
super(val.to_s.strip)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -49,16 +49,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% last = vehicle.issues.last %>
|
<%
|
||||||
<% if last %>
|
mileage = vehicle.last_service_mileage
|
||||||
<% mileage = last.custom_values.find_by(custom_field_id: CustomField.find_by_name("Mileage").id) %>
|
%>
|
||||||
<% if mileage %>
|
|
||||||
|
<% if mileage %>
|
||||||
<p>
|
<p>
|
||||||
<b><%=t(:label_last_service) %></b> <%= last&.closed_on&.to_date || l(:label_unknown) %>
|
<b><%= t(:label_last_service) %></b> <%= vehicle.last_service_date %>
|
||||||
at <%= mileage.value %>
|
at <%= mileage %> <%= t(:label_miles) %>
|
||||||
<%=t(:label_miles) %>
|
|
||||||
</p>
|
</p>
|
||||||
<% end %>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<div style="float: right;">
|
<div style="float: right;">
|
||||||
|
|||||||
@@ -21,10 +21,22 @@
|
|||||||
<% if show_customer %>
|
<% if show_customer %>
|
||||||
<%= vehicle.customer %>
|
<%= vehicle.customer %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
|
||||||
|
<%
|
||||||
|
mileage = vehicle.last_service_mileage
|
||||||
|
%>
|
||||||
|
|
||||||
|
<% if mileage %>
|
||||||
|
<br/>
|
||||||
|
<b><%= t(:label_last_service) %></b> <%= vehicle.last_service_date %>
|
||||||
|
at <%= mileage %> <%= t(:label_miles) %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user