import datetime
import logging
from django.contrib import admin
from reporting.dasmon.models import (
ActiveInstrument,
Parameter,
Signal,
StatusCache,
StatusVariable,
UserNotification,
)
[docs]
class StatusVariableAdmin(admin.ModelAdmin):
list_filter = ("instrument_id", "key_id")
list_display = ("id", "instrument_id", "key_id", "value", "timestamp", "msg_time")
[docs]
def msg_time(self, obj):
if obj.key_id.name == "timestamp":
try:
return datetime.datetime.fromtimestamp(int(obj.value))
except: # noqa: E722
logging.exception("")
return "error"
return "-"
[docs]
class ParameterAdmin(admin.ModelAdmin):
list_display = ("id", "name", "monitored")
list_editable = ("monitored",)
[docs]
class ActiveInstrumentAdmin(admin.ModelAdmin):
list_display = ("id", "instrument_id", "is_alive", "is_adara")
list_editable = ("is_alive", "is_adara")
[docs]
class SignalAdmin(admin.ModelAdmin):
list_display = ("id", "instrument_id", "name", "message", "level", "timestamp")
[docs]
class UserNotificationAdmin(admin.ModelAdmin):
list_display = ("id", "user_id", "email")
admin.site.register(StatusVariable, StatusVariableAdmin)
admin.site.register(Parameter, ParameterAdmin)
admin.site.register(StatusCache, StatusVariableAdmin)
admin.site.register(ActiveInstrument, ActiveInstrumentAdmin)
admin.site.register(Signal, SignalAdmin)
admin.site.register(UserNotification, UserNotificationAdmin)