Files
django-relay-controller/relaycontroller/relay/admin.py
T
2026-03-10 13:10:32 +01:00

43 lines
1.4 KiB
Python

from django.utils.translation import gettext_lazy as _
from django.contrib import admin
from django_celery_beat.admin import PeriodicTaskAdmin, PeriodicTask
from .models import (Device, DeviceType)
class DeviceAdmin(admin.ModelAdmin):
list_display = ('label', 'uuid', 'image_tag', 'device_type__code', 'index', 'task', 'lifetime', 'task_d', 'active')
list_filter = ('device_type', 'active')
search_fields = ('label',)
readonly_fields = ('uuid',)
def task_e(self, instance):
if instance.task:
return instance.task.enabled
task_e.short_description = _('Activé')
def task_d(self, instance):
if instance.task:
return instance.task.description
task_d.short_description = _('Description')
def has_add_permission(self, request, obj=None):
return False
class DeviceTypeAdmin(admin.ModelAdmin):
list_display = ('name', 'code',)
search_fields = ('name', 'code')
class CustomPeriodicTaskAdmin(PeriodicTaskAdmin):
list_display = ('name', 'task', 'enabled', 'description', 'scheduler', 'interval',
'start_time', 'last_run_at', 'expires', 'one_off', 'total_run_count')
search_fields = ('name', 'task')
admin.site.unregister(PeriodicTask)
admin.site.register(PeriodicTask, CustomPeriodicTaskAdmin)
admin.site.register(DeviceType, DeviceTypeAdmin)
admin.site.register(Device, DeviceAdmin)