Finished phase006
CI / scan_ruby (push) Failing after 7s
CI / scan_js (push) Failing after 7s
CI / lint (push) Failing after 8s

This commit is contained in:
2026-09-16 16:37:03 -06:00
parent 0826d267f2
commit 87d2141ed0
22 changed files with 754 additions and 10 deletions
+55
View File
@@ -49,6 +49,54 @@
<section>
<h2>Maintenance Schedules</h2>
<p><%= link_to "Manage maintenance schedules", vehicle_maintenance_schedules_path(@vehicle) %></p>
<% overdue_statuses = @maintenance_schedule_statuses.values.select(&:overdue?) %>
<% upcoming_statuses = @maintenance_schedule_statuses.values.select(&:upcoming?) %>
<% no_history_statuses = @maintenance_schedule_statuses.values.select(&:no_history?) %>
<% if overdue_statuses.any? %>
<section>
<h3>Overdue Maintenance</h3>
<ul>
<% overdue_statuses.each do |status| %>
<li>
<%= status.schedule.maintenance_type %> is overdue: <%= status.reason %>.
Due at <%= number_with_delimiter(status.due_odometer) %> miles or <%= status.due_date %>.
</li>
<% end %>
</ul>
</section>
<% end %>
<% if upcoming_statuses.any? %>
<section>
<h3>Upcoming Maintenance</h3>
<ul>
<% upcoming_statuses.each do |status| %>
<li>
<%= status.schedule.maintenance_type %> is upcoming: <%= status.reason %>.
Due at <%= number_with_delimiter(status.due_odometer) %> miles or <%= status.due_date %>.
</li>
<% end %>
</ul>
</section>
<% end %>
<% if no_history_statuses.any? %>
<section>
<h3>No Maintenance History</h3>
<ul>
<% no_history_statuses.each do |status| %>
<li>
<%= status.schedule.maintenance_type %> has no matching maintenance entry yet.
Baseline due point is <%= number_with_delimiter(status.due_odometer) %> miles or <%= status.due_date %>.
</li>
<% end %>
</ul>
</section>
<% end %>
<% if @maintenance_schedules.any? %>
<table>
<thead>
@@ -56,14 +104,21 @@
<th>Type</th>
<th>Mileage interval</th>
<th>Time interval</th>
<th>Next due odometer</th>
<th>Next due date</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<% @maintenance_schedules.each do |schedule| %>
<% status = @maintenance_schedule_statuses.fetch(schedule) %>
<tr>
<td><%= schedule.maintenance_type %></td>
<td><%= number_with_delimiter(schedule.mileage_interval) %> miles</td>
<td><%= schedule.time_interval %> days</td>
<td><%= number_with_delimiter(status.due_odometer) %></td>
<td><%= status.due_date %></td>
<td><%= status.status_label %></td>
</tr>
<% end %>
</tbody>