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

@@ -47,9 +47,14 @@ class ClientesAdmin(admin.ModelAdmin):
list_display= ['RFC','Nombre','Activo','fecha_baja']
list_filter =['RFC','Activo']
class ErroresTimbresAdmin(admin.ModelAdmin):
list_display= ['rfcc','folio', 'created_at', 'modo']
list_filter =['rfcc','folio']
search_fields = ('rfcc','folio',)
#admin.site.register(Timbres,TimbresAdmin)
admin.site.register(saldoModel)
admin.site.register(Clientes,ClientesAdmin)
admin.site.register(ErroresTimbres)
admin.site.register(ErroresTimbres, ErroresTimbresAdmin)

View File

@@ -1,7 +1,15 @@
from rest_framework import serializers
from .models import Clientes
from .models import Clientes, Timbres
class ClienteSerializer(serializers.ModelSerializer):
class Meta:
model = Clientes
fields = ('RFC', 'Nombre', 'Activo', 'fecha_baja',)
class TimbresSerializer(serializers.ModelSerializer):
class Meta:
model = Timbres
fields = ['uuid','rfcc','fecha','folio','serie','tipo','rfcp','modo']

View File

@@ -13,15 +13,17 @@ from .views import (
#API DRF
saldo_funct2,
add_timbre2,
add_timbre,
check_RFC,
check_host,
CancelaTimbre,
SendTimbresDisponibleEmail,
)
urlpatterns = [
path('', index, name='index'),
path('add_timbre2/', add_timbre2.as_view(), name='add_timbre2'),
path('add_timbre/', add_timbre2.as_view(), name='add_timbre'),
path('add_timbreV2/', add_timbre2.as_view(), name='add_timbre'),
path('cancela_timbre/', CancelaTimbre.as_view(), name='cancela_timbre'),
path('timbres_cliente/<str:RFC>/', timbres_cliente, name='timbres_cliente'),
@@ -35,4 +37,5 @@ urlpatterns = [
path('check_host/',check_host.as_view(),name='check_host'),
path('emails_cliente/',Retrive_Cliente_Email, name='Retrive_Cliente_Email'),
path('pacs/list/',PACS_Retrive_RFCS,name='PACS_Retrive_RFCS'),
path('api/contarTimbresCD/',SendTimbresDisponibleEmail.as_view(),name='contarTimbresCD'),
]

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'})