haikal/inventory/tables.py
Marwan Alwali 9b282154b0 update
2025-02-17 21:46:27 +03:00

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)