37733-vm/core/admin.py
Flatlogic Bot 53e281bd22 dem13
2026-01-23 12:24:32 +00:00

46 lines
1.7 KiB
Python

from django.contrib import admin
from .models import Profile, Truck, Shipment, Bid, Message, WhatsAppConfig, Country
@admin.register(Country)
class CountryAdmin(admin.ModelAdmin):
list_display = ('name', 'code', 'is_default')
list_editable = ('is_default',)
@admin.register(Profile)
class ProfileAdmin(admin.ModelAdmin):
list_display = ('user', 'role', 'country_code', 'phone_number')
list_filter = ('role',)
search_fields = ('user__username', 'phone_number')
@admin.register(Truck)
class TruckAdmin(admin.ModelAdmin):
list_display = ('truck_type', 'model', 'plate_no', 'owner', 'load_capacity')
search_fields = ('plate_no', 'owner__username', 'truck_type')
@admin.register(Shipment)
class ShipmentAdmin(admin.ModelAdmin):
list_display = ('origin', 'destination', 'shipper', 'status', 'delivery_date')
list_filter = ('status', 'delivery_date')
search_fields = ('origin', 'destination', 'shipper__username')
@admin.register(Bid)
class BidAdmin(admin.ModelAdmin):
list_display = ('shipment', 'truck_owner', 'amount', 'status')
list_filter = ('status',)
search_fields = ('shipment__origin', 'shipment__destination', 'truck_owner__username')
@admin.register(Message)
class MessageAdmin(admin.ModelAdmin):
list_display = ('shipment', 'sender', 'timestamp')
search_fields = ('content', 'sender__username')
@admin.register(WhatsAppConfig)
class WhatsAppConfigAdmin(admin.ModelAdmin):
list_display = ('__str__', 'is_active')
def has_add_permission(self, request):
# Only allow one configuration record
if self.model.objects.exists():
return False
return super().has_add_permission(request)