haikal/inventory/admin.py
Marwan Alwali c01d234e0e update
2025-04-29 17:59:30 +03:00

161 lines
5.4 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
from .models import Car
# # 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(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.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]