backend_users_equipment_interventions
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
from django.contrib import admin
|
||||
from simple_history.admin import SimpleHistoryAdmin
|
||||
from .models import (
|
||||
Computer,
|
||||
Monitor,
|
||||
Peripheral,
|
||||
DigitalCertificate,
|
||||
MaintenanceRecord,
|
||||
DecommissionRecord,
|
||||
)
|
||||
|
||||
|
||||
# --- Inlines for Computer ---
|
||||
class MaintenanceInlineComputer(admin.TabularInline):
|
||||
model = MaintenanceRecord
|
||||
fk_name = "computer"
|
||||
extra = 0
|
||||
|
||||
|
||||
class DecommissionInlineComputer(admin.StackedInline):
|
||||
model = DecommissionRecord
|
||||
fk_name = "computer"
|
||||
extra = 0
|
||||
max_num = 1
|
||||
|
||||
|
||||
# --- Inlines for Monitor ---
|
||||
class MaintenanceInlineMonitor(admin.TabularInline):
|
||||
model = MaintenanceRecord
|
||||
fk_name = "monitor"
|
||||
extra = 0
|
||||
|
||||
|
||||
class DecommissionInlineMonitor(admin.StackedInline):
|
||||
model = DecommissionRecord
|
||||
fk_name = "monitor"
|
||||
extra = 0
|
||||
max_num = 1
|
||||
|
||||
|
||||
# --- Inlines for Peripheral ---
|
||||
class MaintenanceInlinePeripheral(admin.TabularInline):
|
||||
model = MaintenanceRecord
|
||||
fk_name = "peripheral"
|
||||
extra = 0
|
||||
|
||||
|
||||
class DecommissionInlinePeripheral(admin.StackedInline):
|
||||
model = DecommissionRecord
|
||||
fk_name = "peripheral"
|
||||
extra = 0
|
||||
max_num = 1
|
||||
|
||||
|
||||
@admin.register(Computer)
|
||||
class ComputerAdmin(SimpleHistoryAdmin):
|
||||
list_display = ("equipment_code", "oem_name", "status", "assigned_to", "entry_date")
|
||||
list_filter = ("status", "entry_date", "assigned_to")
|
||||
search_fields = ("equipment_code", "oem_name", "mac_address", "observations")
|
||||
inlines = [MaintenanceInlineComputer, DecommissionInlineComputer]
|
||||
|
||||
|
||||
@admin.register(Monitor)
|
||||
class MonitorAdmin(SimpleHistoryAdmin):
|
||||
list_display = ("equipment_code", "name", "status", "assigned_to", "entry_date")
|
||||
list_filter = ("status", "entry_date", "assigned_to")
|
||||
search_fields = ("equipment_code", "name", "serial_number")
|
||||
inlines = [MaintenanceInlineMonitor, DecommissionInlineMonitor]
|
||||
|
||||
|
||||
@admin.register(Peripheral)
|
||||
class PeripheralAdmin(SimpleHistoryAdmin):
|
||||
list_display = (
|
||||
"equipment_code",
|
||||
"name",
|
||||
"peripheral_type",
|
||||
"status",
|
||||
"assigned_to",
|
||||
)
|
||||
list_filter = ("status", "peripheral_type", "entry_date", "assigned_to")
|
||||
search_fields = ("equipment_code", "name", "serial_number")
|
||||
inlines = [MaintenanceInlinePeripheral, DecommissionInlinePeripheral]
|
||||
|
||||
|
||||
@admin.register(DigitalCertificate)
|
||||
class DigitalCertificateAdmin(SimpleHistoryAdmin):
|
||||
list_display = (
|
||||
"get_certificate_type_display",
|
||||
"assigned_to",
|
||||
"issue_date",
|
||||
"expiration_date",
|
||||
"is_canceled",
|
||||
)
|
||||
list_filter = ("certificate_type", "is_canceled", "issue_date")
|
||||
search_fields = ("assigned_to__name", "assigned_to__username")
|
||||
|
||||
|
||||
# Optionally register the records independently so they can be searched globally
|
||||
@admin.register(MaintenanceRecord)
|
||||
class MaintenanceRecordAdmin(SimpleHistoryAdmin):
|
||||
list_display = ("date", "operation_type", "performed_by")
|
||||
list_filter = ("date", "operation_type")
|
||||
search_fields = ("description", "performed_by")
|
||||
|
||||
|
||||
@admin.register(DecommissionRecord)
|
||||
class DecommissionRecordAdmin(SimpleHistoryAdmin):
|
||||
list_display = ("document_number", "date", "reason")
|
||||
list_filter = ("date",)
|
||||
search_fields = ("document_number", "reason")
|
||||
Reference in New Issue
Block a user