haikal/inventory/admin.py
2025-08-25 11:52:35 +03:00

177 lines
5.5 KiB
Python

# from appointment.models import Appointment
from django.contrib import admin
from . import models
from django_ledger import models as ledger_models
# from django_pdf_actions.actions import export_to_pdf_landscape, export_to_pdf_portrait
# from appointment import models as appointment_models
from import_export.admin import ExportMixin
from import_export.resources import ModelResource
# # Define resource class
# class CarSerieResource(ModelResource):
# class Meta:
# model = models.CarSerie
#
# # Integrate into Django Admin
# @admin.register(models.CarSerie)
# class CarSeriesAdmin(ExportMixin, admin.ModelAdmin):
# resource_class = CarSerieResource
class CarTrimResource(ModelResource):
class Meta:
model = models.CarTrim
@admin.register(models.CarTrim)
class CarTrimAdmin(ExportMixin, admin.ModelAdmin):
resource_class = CarTrimResource
admin.site.register(models.Dealer)
admin.site.register(models.Staff)
admin.site.register(models.Vendor)
admin.site.register(models.DealerSettings)
# admin.site.register(models.SaleQuotation)
# admin.site.register(models.SaleQuotationCar)
admin.site.register(models.SaleOrder)
admin.site.register(models.CustomGroup)
# admin.site.register(models.CarFinance)
admin.site.register(models.CarColors)
admin.site.register(models.CarRegistration)
admin.site.register(models.CustomCard)
admin.site.register(models.CarSpecificationValue)
admin.site.register(models.CarEquipment)
admin.site.register(models.CarOptionValue)
admin.site.register(models.ExteriorColors)
admin.site.register(models.InteriorColors)
# admin.site.register(models.Subscription)
# admin.site.register(models.SubscriptionPlan)
# admin.site.register(models.SubscriptionUser)
admin.site.register(models.CarLocation)
admin.site.register(models.CarReservation)
admin.site.register(models.Organization)
admin.site.register(models.Representative)
# admin.site.register(models.CarTrim)
admin.site.register(models.AdditionalServices)
admin.site.register(models.Payment)
admin.site.register(models.VatRate)
admin.site.register(ledger_models.CustomerModel)
admin.site.register(ledger_models.VendorModel)
admin.site.register(ledger_models.ItemModel)
admin.site.register(ledger_models.ItemTransactionModel)
admin.site.register(models.Opportunity)
admin.site.register(models.Notification)
admin.site.register(models.Lead)
admin.site.register(models.Activity)
admin.site.register(models.Schedule)
admin.site.register(models.Notes)
admin.site.register(models.UserActivityLog)
admin.site.register(models.DealersMake)
admin.site.register(models.ExtraInfo)
admin.site.register(models.Ticket)
@admin.register(models.Car)
class CarAdmin(admin.ModelAdmin):
search_fields = ("vin",)
# actions = [export_to_pdf_landscape, export_to_pdf_portrait]
@admin.register(models.CarMake)
class CarMakeAdmin(admin.ModelAdmin):
list_display = ("name", "arabic_name", "is_sa_import")
search_fields = ("name", "arabic_name")
list_filter = (
"is_sa_import",
"name",
)
# actions = [export_to_pdf_landscape, export_to_pdf_portrait]
class Meta:
verbose_name = "Car Make"
ordering = ("name",)
@admin.register(models.CarModel)
class CarModelAdmin(admin.ModelAdmin):
list_display = ("name", "arabic_name", "id_car_make", "get_is_sa_import")
search_fields = ("id_car_model", "name", "arabic_name")
list_filter = ("id_car_make__is_sa_import", "id_car_make")
sortable_by = ["name", "arabic_name", "id_car_make"]
def get_is_sa_import(self, obj):
return obj.id_car_make.is_sa_import
get_is_sa_import.boolean = True
get_is_sa_import.short_description = "Is SA Import"
class Meta:
verbose_name = "Car Model"
ordering = ("name",)
@admin.register(models.CarSerie)
class CarSeriesAdmin(admin.ModelAdmin):
list_display = (
"name",
"arabic_name",
"id_car_model",
)
search_fields = ("name",)
list_filter = (
"id_car_model__id_car_make__is_sa_import",
"id_car_model__id_car_make__name",
)
class Meta:
verbose_name = "Car Series"
# @admin.register(models.CarTrim)
# class CarTrimAdmin(admin.ModelAdmin):
# list_display = ('name', 'arabic_name',
# 'id_car_serie__name',
# 'id_car_serie__id_car_model__name',
# 'id_car_serie__id_car_model__id_car_make__name')
# search_fields = ('name', 'arabic_name', 'id_car_serie__id_car_model__name')
# list_filter = ('id_car_serie__id_car_model__id_car_make__is_sa_import',
# 'id_car_serie__id_car_model__id_car_make__name')
#
# class Meta:
# verbose_name = "Car Trim"
@admin.register(models.CarSpecification)
class CarSpecificationAdmin(admin.ModelAdmin):
list_display = ("name", "arabic_name", "id_parent")
search_fields = ("name", "id_parent")
list_filter = ("id_parent",)
class Meta:
verbose_name = "Car Specification"
@admin.register(models.CarOption)
class CarOptionAdmin(admin.ModelAdmin):
list_display = ("name", "arabic_name", "id_parent")
search_fields = ("name", "id_parent")
# list_filter = ('id_parent',)
class Meta:
verbose_name = "Car Option"
# @admin.register(models.UserActivityLog)
# class UserActivityLogAdmin(admin.ModelAdmin):
# list_display = ('user', 'action', 'timestamp')
# search_fields = ('user__username', 'action')
# list_filter = ('timestamp',)
# @admin.register(ledger_models.ItemTransactionModel)
# class ItemTransactionModelAdmin(admin.ModelAdmin):
# actions = [export_to_pdf_landscape, export_to_pdf_portrait]