<%= notice %>

<%= flash[:warning] %>

<%= link_to "Back to vehicles", vehicles_path %>

<%= @vehicle.year %> <%= @vehicle.make %> <%= @vehicle.model %>

<%= link_to "Edit", edit_vehicle_path(@vehicle) %> <% if @vehicle.active? %> | <%= button_to "Deactivate", @vehicle, method: :delete %> <% end %>

Vehicle Details

Make
<%= @vehicle.make %>
Model
<%= @vehicle.model %>
Year
<%= @vehicle.year %>
Color
<%= @vehicle.color %>
VIN
<%= @vehicle.vin %>
Licence plate
<%= @vehicle.licence_plate %>
Current odometer
<%= number_with_delimiter(@vehicle.current_odometer) %>
Fuel tank size
<%= @vehicle.fuel_tank_size %>
Status
<%= @vehicle.active? ? "Active" : "Inactive" %>

Maintenance Schedules

<% if @maintenance_schedules.any? %> <% @maintenance_schedules.each do |schedule| %> <% end %>
Type Mileage interval Time interval
<%= schedule.maintenance_type %> <%= number_with_delimiter(schedule.mileage_interval) %> miles <%= schedule.time_interval %> days
<% else %>

No maintenance schedules recorded.

<% end %>

Record Fuel

<%= form_with model: [@vehicle, @fuel_entry] do |form| %> <% if @fuel_entry.errors.any? %>

<%= pluralize(@fuel_entry.errors.count, "error") %> prevented this fuel entry from being saved

    <% @fuel_entry.errors.full_messages.each do |message| %>
  • <%= message %>
  • <% end %>
<% end %>
<%= form.label :odometer %>
<%= form.number_field :odometer, min: @vehicle.current_odometer, required: true %>
<%= form.label :gallons_pumped %>
<%= form.number_field :gallons_pumped, min: 0.01, step: "0.01", required: true %>
<%= form.label :price_paid %>
<%= form.number_field :price_paid, min: 0.01, step: "0.01", required: true %>
<%= form.label :date %>
<%= form.date_field :date, max: Date.current, required: true %>
<%= form.submit "Record fuel" %>
<% end %>

Record Maintenance

<% if @maintenance_schedules.any? %> <%= form_with model: [@vehicle, @maintenance_entry], data: { controller: "maintenance-odometer-warning", maintenance_odometer_warning_current_odometer_value: @vehicle.current_odometer, maintenance_odometer_warning_threshold_value: 500 } do |form| %> <% if @maintenance_entry.errors.any? %>

<%= pluralize(@maintenance_entry.errors.count, "error") %> prevented this maintenance entry from being saved

    <% @maintenance_entry.errors.full_messages.each do |message| %>
  • <%= message %>
  • <% end %>
<% end %>
<%= form.label :name, "Maintenance type" %>
<%= form.select :name, options_for_select(@maintenance_schedules.map(&:maintenance_type), @maintenance_entry.name), { prompt: "Choose maintenance type" }, required: true %>
<%= form.label :odometer %>
<%= form.number_field :odometer, min: 0, required: true, data: { maintenance_odometer_warning_target: "odometer", action: "input->maintenance-odometer-warning#check change->maintenance-odometer-warning#check" } %>
<%= form.label :cost %>
<%= form.number_field :cost, min: 0, step: "0.01", required: true %>
<%= form.label :date %>
<%= form.date_field :date, max: Date.current, required: true %>
<%= form.label :notes %>
<%= form.text_area :notes, required: true %>
<%= form.submit "Record maintenance" %>
<% end %> <% else %>

Add a maintenance schedule before recording maintenance.

<% end %>

Fuel History

<% if @fuel_entries.any? %> <% @fuel_entries.each do |entry| %> <% end %>
Date Odometer Gallons Price paid Updated by
<%= entry.date %> <%= number_with_delimiter(entry.odometer) %> <%= entry.gallons_pumped %> <%= number_to_currency(entry.price_paid) %> <%= entry.updated_by_user.name %>
<% else %>

No fuel entries recorded.

<% end %>

Maintenance History

<% if @maintenance_entries.any? %> <% @maintenance_entries.each do |entry| %> <% end %>
Date Name Odometer Cost Notes Updated by
<%= entry.date %> <%= entry.name %> <%= number_with_delimiter(entry.odometer) %> <%= number_to_currency(entry.cost) %> <%= entry.notes %> <%= entry.updated_by_user.name %>
<% else %>

No maintenance entries recorded.

<% end %>