36347-vm/core/admin.py
2025-11-27 08:45:23 +00:00

44 lines
1.6 KiB
Python

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.models import User
from .models import MachineModel, SparePart, ServiceIntervention, TechnicianProfile
# Define an inline admin descriptor for TechnicianProfile model
# which acts a bit like a singleton
class TechnicianProfileInline(admin.StackedInline):
model = TechnicianProfile
can_delete = False
verbose_name_plural = 'Perfil de Técnico'
# Define a new User admin
class UserAdmin(BaseUserAdmin):
inlines = (TechnicianProfileInline,)
# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
@admin.register(TechnicianProfile)
class TechnicianProfileAdmin(admin.ModelAdmin):
list_display = ('user', 'is_technician')
list_filter = ('is_technician',)
search_fields = ('user__username', 'user__first_name', 'user__last_name')
@admin.register(MachineModel)
class MachineModelAdmin(admin.ModelAdmin):
list_display = ('name', 'brand')
search_fields = ('name', 'brand')
@admin.register(SparePart)
class SparePartAdmin(admin.ModelAdmin):
list_display = ('name', 'reference_code', 'stock_quantity')
search_fields = ('name', 'reference_code')
list_filter = ('stock_quantity',)
@admin.register(ServiceIntervention)
class ServiceInterventionAdmin(admin.ModelAdmin):
list_display = ('machine', 'technician', 'status', 'created_at')
list_filter = ('status', 'technician', 'created_at')
search_fields = ('machine__name', 'description')
autocomplete_fields = ('machine', 'technician')