106 lines
3.5 KiB
Python
106 lines
3.5 KiB
Python
from django.utils.html import format_html
|
|
|
|
from django.conf import settings
|
|
from . import models
|
|
from django_tables2.utils import A
|
|
import django_tables2 as tables
|
|
from django import forms
|
|
|
|
|
|
|
|
class ImageColumn(tables.Column):
|
|
def render(self, value):
|
|
return format_html('<img src="{}{}" width="100" height="50" />', settings.MEDIA_URL, value)
|
|
|
|
|
|
class CustomerTable(tables.Table):
|
|
class Meta:
|
|
model = models.Customer
|
|
first_name = tables.Column()
|
|
|
|
|
|
import django_tables2 as tables
|
|
from django.utils.translation import gettext_lazy as _
|
|
from .models import Car, CarFinance, ExteriorColors, InteriorColors, CarColors
|
|
|
|
class CarTable(tables.Table):
|
|
# Car fields
|
|
vin = tables.Column(verbose_name=_("VIN"))
|
|
dealer = tables.Column(verbose_name=_("Dealer"))
|
|
vendor = tables.Column(verbose_name=_("Vendor"))
|
|
id_car_make = tables.Column(verbose_name=_("Make"))
|
|
id_car_model = tables.Column(verbose_name=_("Model"))
|
|
year = tables.Column(verbose_name=_("Year"))
|
|
id_car_serie = tables.Column(verbose_name=_("Series"))
|
|
id_car_trim = tables.Column(verbose_name=_("Trim"))
|
|
status = tables.Column(verbose_name=_("Status"))
|
|
stock_type = tables.Column(verbose_name=_("Stock Type"))
|
|
remarks = tables.Column(verbose_name=_("Remarks"))
|
|
mileage = tables.Column(verbose_name=_("Mileage"))
|
|
receiving_date = tables.Column(verbose_name=_("Receiving Date"))
|
|
hash = tables.Column(verbose_name=_("Hash"))
|
|
|
|
# CarFinance fields
|
|
cost_price = tables.Column(accessor="finances.cost_price", verbose_name=_("Cost Price"))
|
|
selling_price = tables.Column(accessor="finances.selling_price", verbose_name=_("Selling Price"))
|
|
discount_amount = tables.Column(accessor="finances.discount_amount", verbose_name=_("Discount Amount"))
|
|
|
|
# ExteriorColors fields (accessed through CarColors)
|
|
exterior_color = tables.Column(accessor="colors.exterior.name", verbose_name=_("Exterior Color"))
|
|
exterior_color_rgb = tables.Column(accessor="colors.exterior.rgb", verbose_name=_("Exterior Color RGB"))
|
|
|
|
# InteriorColors fields (accessed through CarColors)
|
|
interior_color = tables.Column(accessor="colors.interior.name", verbose_name=_("Interior Color"))
|
|
interior_color_rgb = tables.Column(accessor="colors.interior.rgb", verbose_name=_("Interior Color RGB"))
|
|
|
|
class Meta:
|
|
model = Car
|
|
template_name = "django_tables2/bootstrap.html"
|
|
fields = (
|
|
"vin",
|
|
"dealer",
|
|
"vendor",
|
|
"id_car_make",
|
|
"id_car_model",
|
|
"year",
|
|
"id_car_serie",
|
|
"id_car_trim",
|
|
"status",
|
|
"stock_type",
|
|
"remarks",
|
|
"mileage",
|
|
"receiving_date",
|
|
"hash",
|
|
"cost_price",
|
|
"selling_price",
|
|
"discount_amount",
|
|
"exterior_color",
|
|
"exterior_color_rgb",
|
|
"interior_color",
|
|
"interior_color_rgb",
|
|
)
|
|
attrs = {"class": "table table-striped table-bordered"}
|
|
|
|
def render_dealer(self, value):
|
|
return str(value)
|
|
|
|
def render_vendor(self, value):
|
|
return str(value)
|
|
|
|
def render_id_car_make(self, value):
|
|
return str(value)
|
|
|
|
def render_id_car_model(self, value):
|
|
return str(value)
|
|
|
|
def render_id_car_serie(self, value):
|
|
return str(value)
|
|
|
|
def render_id_car_trim(self, value):
|
|
return str(value)
|
|
|
|
def render_exterior_color(self, value):
|
|
return str(value)
|
|
|
|
def render_interior_color(self, value):
|
|
return str(value) |