Cambios en Post Timbres y conteo CD

This commit is contained in:
fjrodriguez
2023-09-15 09:41:33 -06:00
parent 9e6416fecb
commit 4bdb833cdb
12 changed files with 358 additions and 184 deletions

View File

@@ -4,9 +4,13 @@ import datetime
import functools
import urllib.parse
import traceback
import json
import requests
from asgiref.sync import sync_to_async
from django.conf import settings
from django.core.files.storage import FileSystemStorage
from django.core.mail import send_mail
from django.shortcuts import render,redirect
from django.contrib import messages
from django.http import HttpResponse,JsonResponse
@@ -20,7 +24,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
from .custom_decorators import is_staff_access, http_basic_auth
from .models import Clientes,Timbres,saldoModel,ErroresTimbres
from Sistemas.models import BitacoraErrores
from .serailizers import ClienteSerializer
from .serailizers import ClienteSerializer,TimbresSerializer
from .forms import ClienteForm,EmailForm
from rest_framework.views import APIView
@@ -28,8 +32,6 @@ from rest_framework.response import Response
from rest_framework.permissions import IsAuthenticated
from rest_framework import status
from Sistemas.permissions import ItsAdminToken
#EXCEL
@@ -462,14 +464,50 @@ class add_timbre2(APIView):
obj = Timbres.objects.create(**obj)
return Response({'data':'ok'})
except Exception as e:
data_json = json.dumps(request.data)
traceback_info = f'{data_json}\n{traceback.format_exc()}'
obj = ErroresTimbres.objects.create(
uuid=uuid,
description=e,
description= f"{e} \n {traceback_info}",
rfcc=rfcc,
folio=folio,
modo=modo
)
return Response({'Error':f'{e}'})
def post(self,request):
try:
serializer = TimbresSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response({'data': 'ok'}, status=status.HTTP_201_CREATED)
else:
data_json = json.dumps(request.data)
traceback_info = f'{data_json}\n{traceback.format_exc()}'
obj = ErroresTimbres.objects.create(
uuid=request.data['uuid'],
description= f"{serializer.errors} \n {traceback_info}",
rfcc=request.data['rfcc'],
folio=request.data['folio'],
modo=request.data['modo']
)
return Response({'errors': serializer.errors, 'isError': True}, status=status.HTTP_200_OK)
except Exception as e:
data_json = json.dumps(request.data)
traceback_info = f'{data_json}\n{traceback.format_exc()}'
obj = ErroresTimbres.objects.create(
uuid=request.data['uuid'],
description= f"{e} \n {traceback_info}",
rfcc=request.data['rfcc'],
folio=request.data['folio'],
modo=request.data['modo']
)
return Response(
{'Error':f'{e}','isError':True},status=status.HTTP_200_OK
)
class saldo_funct2(APIView):
"""Agrega los timbres disponibles"""
@@ -547,4 +585,23 @@ class ClientesCreateView(UserPassesTestMixin,LoginRequiredMixin,CreateView):
errors = form.errors.as_text()
return JsonResponse({'errors':f'{errors}'},status=200,content_type='application/json')
else:
return response
return response
class SendTimbresDisponibleEmail(APIView):
def get(self,request):
saldoRequest = requests.get('https://app2.comercio-digital.mx/x3/saldo?usr=SCT050708AD1&pwd=0dcu2SwCv')
send_mail(
subject='Alerta Timbres Comercio',
message=f"""
La cantidad de timbres son {saldoRequest.text} a fecha {datetime.date.today()}
este correo se envio automaticamente desde server, no es necesario contestar, solo es informativo.
Saludos
atte:
FJRR
""",
from_email='aduanasoftpruebas@gmail.com',
recipient_list=['fjrodriguez@aduanasoft.com.mx']#,'mcervantes@aduanasoft.com.mx','ddominguez@aduanasoft.com.mx'],
)
return Response({'message':'Correo enviado exitosamente'})