77from flask_babel import gettext as _
88from werkzeug .utils import secure_filename
99from app import db
10- from app .models import Vehicle , VehicleSpec , VehiclePart , FuelLog , Expense , User , Reminder , VEHICLE_TYPES , FUEL_TYPES , VEHICLE_SPEC_TYPES , REMINDER_TYPES , PART_TYPES , TRACKING_UNITS , AppSettings
10+ from app .models import Vehicle , VehicleSpec , VehiclePart , FuelLog , Expense , User , Reminder , VEHICLE_TYPES , FUEL_TYPES , VEHICLE_SPEC_TYPES , REMINDER_TYPES , PART_TYPES , TRACKING_UNITS , ODOMETER_UNITS , AppSettings
1111from app .services .tessie import TessieService
1212
1313bp = Blueprint ('vehicles' , __name__ , url_prefix = '/vehicles' )
@@ -47,6 +47,7 @@ def new():
4747 name = request .form .get ('name' ),
4848 vehicle_type = request .form .get ('vehicle_type' ),
4949 tracking_unit = request .form .get ('tracking_unit' , 'mileage' ),
50+ odometer_unit = request .form .get ('odometer_unit' ) or None ,
5051 make = request .form .get ('make' ),
5152 model = request .form .get ('model' ),
5253 year = int (request .form .get ('year' )) if request .form .get ('year' ) else None ,
@@ -95,6 +96,7 @@ def new():
9596 vehicle_types = VEHICLE_TYPES ,
9697 fuel_types = FUEL_TYPES ,
9798 tracking_units = TRACKING_UNITS ,
99+ odometer_units = ODOMETER_UNITS ,
98100 spec_types = VEHICLE_SPEC_TYPES ,
99101 tessie_configured = tessie_configured )
100102
@@ -121,7 +123,7 @@ def view(vehicle_id):
121123 'total_fuel_cost' : vehicle .get_total_fuel_cost (),
122124 'total_expense_cost' : vehicle .get_total_expense_cost (),
123125 'total_cost' : vehicle .get_total_cost (),
124- 'total_distance' : vehicle .get_total_distance (current_user . distance_unit ),
126+ 'total_distance' : vehicle .get_total_distance (vehicle . get_effective_odometer_unit () ),
125127 'avg_consumption' : vehicle .get_average_consumption (),
126128 'fuel_logs_count' : vehicle .fuel_logs .count (),
127129 'expenses_count' : vehicle .expenses .count ()
@@ -168,6 +170,7 @@ def edit(vehicle_id):
168170 vehicle .name = request .form .get ('name' )
169171 vehicle .vehicle_type = request .form .get ('vehicle_type' )
170172 vehicle .tracking_unit = request .form .get ('tracking_unit' , 'mileage' )
173+ vehicle .odometer_unit = request .form .get ('odometer_unit' ) or None
171174 vehicle .make = request .form .get ('make' )
172175 vehicle .model = request .form .get ('model' )
173176 vehicle .year = int (request .form .get ('year' )) if request .form .get ('year' ) else None
@@ -224,6 +227,7 @@ def edit(vehicle_id):
224227 vehicle_types = VEHICLE_TYPES ,
225228 fuel_types = FUEL_TYPES ,
226229 tracking_units = TRACKING_UNITS ,
230+ odometer_units = ODOMETER_UNITS ,
227231 spec_types = VEHICLE_SPEC_TYPES ,
228232 specs = specs ,
229233 tessie_configured = tessie_configured )
@@ -360,7 +364,7 @@ def report(vehicle_id):
360364 'total_fuel_cost' : vehicle .get_total_fuel_cost (),
361365 'total_expense_cost' : vehicle .get_total_expense_cost (),
362366 'total_cost' : vehicle .get_total_cost (),
363- 'total_distance' : vehicle .get_total_distance (current_user . distance_unit ),
367+ 'total_distance' : vehicle .get_total_distance (vehicle . get_effective_odometer_unit () ),
364368 'avg_consumption' : vehicle .get_average_consumption (),
365369 'fuel_logs_count' : len (fuel_logs ),
366370 'expenses_count' : len (expenses )
0 commit comments