def get(self, request, pk): agent = get_object_or_404(Agent, pk=pk) ctx = { "default_tz": get_default_timezone(), "agent_tz": agent.time_zone, } return Response(AutoTaskSerializer(agent, context=ctx).data)
def patch(self, request): if "sitePK" in request.data.keys(): queryset = ( Agent.objects.select_related("site", "policy", "alert_template") .prefetch_related("agentchecks") .filter(site_id=request.data["sitePK"]) ) elif "clientPK" in request.data.keys(): queryset = ( Agent.objects.select_related("site", "policy", "alert_template") .prefetch_related("agentchecks") .filter(site__client_id=request.data["clientPK"]) ) else: queryset = Agent.objects.select_related( "site", "policy", "alert_template" ).prefetch_related("agentchecks") queryset = queryset.only( "pk", "hostname", "agent_id", "site", "policy", "alert_template", "monitoring_type", "description", "needs_reboot", "overdue_text_alert", "overdue_email_alert", "overdue_time", "offline_time", "last_seen", "boot_time", "logged_in_username", "last_logged_in_user", "time_zone", "maintenance_mode", ) ctx = {"default_tz": get_default_timezone()} serializer = AgentTableSerializer(queryset, many=True, context=ctx) return Response(serializer.data)
def get_entry_time(self, log): timezone = get_default_timezone() return log.entry_time.astimezone(timezone).strftime( "%m %d %Y %H:%M:%S")
def get_win_updates(request, pk): agent = get_object_or_404(Agent, pk=pk) ctx = {"default_tz": get_default_timezone()} serializer = UpdateSerializer(agent, context=ctx) return Response(serializer.data)
def get_snoozed_until(self, instance): if instance.snooze_until: return instance.snooze_until.astimezone( get_default_timezone()).timestamp() return None
def get_resolve_on(self, instance): if instance.resolved_on: return instance.resolved_on.astimezone( get_default_timezone()).timestamp() else: return None
def get_alert_time(self, instance): if instance.alert_time: return instance.alert_time.astimezone( get_default_timezone()).timestamp() else: return None