|
|
@@ -1,9 +1,7 @@
|
|
|
from django.db import models
|
|
|
from .validators import json_email_array, json_not_empty_string_array
|
|
|
from django.utils import timezone
|
|
|
-
|
|
|
-# TODO! Move to ENV file...
|
|
|
-PROGRAMMED_REPORTS_SERVICE_AUTH_TOKEN = "juwiV9MjP4r3NTsvd9qRsPQ2FMdk5soJjxksYKhruza3wskG23h4cygTEPiFAGo2"
|
|
|
+from django.conf import settings
|
|
|
|
|
|
|
|
|
class ProgrammedReport(models.Model):
|
|
|
@@ -30,9 +28,6 @@ class ProgrammedReport(models.Model):
|
|
|
validators=[json_not_empty_string_array, json_email_array])
|
|
|
|
|
|
# Metodo que envía la petición a Clima para enviar el reporte.
|
|
|
- # TODO! Tecnicamente start_date y end_date podrían ser calculados por el modelo,
|
|
|
- # hay que ver si hay un caso borde que requiere de que el llamador especifique el rango.
|
|
|
- # Basicamente: Testear
|
|
|
def send_report(self, start_date, end_date):
|
|
|
import requests
|
|
|
from django.conf import settings
|
|
|
@@ -41,6 +36,7 @@ class ProgrammedReport(models.Model):
|
|
|
start = start_date.strftime("%d/%m/%Y %H:%M")
|
|
|
end = end_date.strftime("%d/%m/%Y %H:%M")
|
|
|
response = requests.post(settings.CLIMA_URL + "/async_report_handler", {
|
|
|
+ "id": self.id,
|
|
|
"user_id": self.user_id,
|
|
|
"format": self.format,
|
|
|
"stations": self.stations,
|
|
|
@@ -49,7 +45,7 @@ class ProgrammedReport(models.Model):
|
|
|
"start_date": start,
|
|
|
"end_date": end,
|
|
|
"notified_emails": self.notified_emails
|
|
|
- }, headers={"AUTHORIZATION": PROGRAMMED_REPORTS_SERVICE_AUTH_TOKEN})
|
|
|
+ }, headers={"AUTHORIZATION": settings.PROGRAMMED_REPORTS_SERVICE_AUTH_TOKEN})
|
|
|
|
|
|
if response.status_code != 200:
|
|
|
import logging
|
|
|
@@ -57,9 +53,3 @@ class ProgrammedReport(models.Model):
|
|
|
"No se pudo enviar el reporte asincrono: %s\n Reason: %s", self, response.reason)
|
|
|
# TODO! Seria ideal enviar un email al administrador para ver que paso.
|
|
|
return False
|
|
|
-
|
|
|
- # TODO! Si se utiliza una Message Queue para la confirmación del envío entonces
|
|
|
- # hay que mover esto al listener de la Queue.
|
|
|
- self.last_report_date = timezone.now()
|
|
|
- self.save()
|
|
|
- return True
|