drf API view added

This commit is contained in:
fjrodriguez
2022-12-12 08:32:54 -06:00
parent b12ff5d427
commit e71fe9278c
5 changed files with 133 additions and 60 deletions

View File

@@ -32,6 +32,9 @@ INSTALLED_APPS = [
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'rest_framework.authtoken',
'allauth',
'allauth.account',
'allauth.socialaccount',
@@ -39,6 +42,11 @@ INSTALLED_APPS = [
'Admin',
'Clientes',
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication',
],
}
SITE_ID = 1
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',

View File

@@ -0,0 +1,17 @@
# Generated by Django 4.1.3 on 2022-12-12 13:21
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('Clientes', '0013_clientes_conteo_mes'),
]
operations = [
migrations.AlterModelOptions(
name='clientes',
options={'ordering': ('-Activo', '-conteo_mes', 'RFC')},
),
]

View File

@@ -4,17 +4,17 @@ from .models import saldoModel
import datetime
def get_saldo(request):
# try:
# Saldo = saldoModel.objects.first()
# except:
# pass
# if not Saldo :
# Saldo = saldoModel.objects.create(saldo=1)
# Saldo.save()
try:
Saldo = saldoModel.objects.first()
except:
pass
if not Saldo :
Saldo = saldoModel.objects.create(saldo=1)
Saldo.save()
r = requests.get('https://app2.comercio-digital.mx/x3/saldo?usr=SCT050708AD1&pwd=0dcu2SwCv')
#r = requests.get('https://app2.comercio-digital.mx/x3/saldo?usr=SCT050708AD1&pwd=0dcu2SwCv')
#print('resp:',r.text, dir(r))
return {
'saldo':r.text,
'saldo':Saldo.saldo,
'fecha': datetime.date.today()
}

View File

@@ -1,23 +1,27 @@
from django.urls import path,include
from django.urls import path
from .views import (
index,add_timbre,
index,
timbres_cliente,
saldo_funct,
ClientesUpdateView,
ClientesCreateView,
export_Excel,
send_timbres_Email,
check_active_RFC,
#API DRF
saldo_funct2,
add_timbre2
)
urlpatterns = [
path('', index, name='index'),
path('add_timbre/', add_timbre, name='add_timbre'),
path('timbres_cliente/<str:RFC>/', timbres_cliente, name='timbres_cliente'),
path('get_saldo/', saldo_funct, name='saldo_funct'),
path('', index, name='index'),
path('add_timbre2/', add_timbre2.as_view(), name='add_timbre2'),
path('timbres_cliente/<str:RFC>/', timbres_cliente, name='timbres_cliente'),
path('cliente/update/<int:pk>/',ClientesUpdateView.as_view(),name='update_cliente'),
path('cliente/add/', ClientesCreateView.as_view(), name='add_cliente'),
path('get_timbres_xls/', export_Excel, name='export_Excel'),
path('send_timbres_cliente/',send_timbres_Email, name='send_timbres_Email'),
path('getActivoRFC/', check_active_RFC, name='check_active_RFC'),
path('getActivoRFC/', check_active_RFC, name='check_active_RFC'),
path('get_saldo2/', saldo_funct2.as_view(), name='saldo_funct2')
]

View File

@@ -5,6 +5,10 @@ from django.http import JsonResponse
from django.contrib.auth.decorators import login_required
from .models import Clientes,Timbres,saldoModel,ErroresTimbres
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.permissions import IsAuthenticated
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.db.models import Q
import datetime
@@ -170,36 +174,6 @@ def index(request):
return render(request,'Clientes/index.html',context)
def add_timbre(request):
uuid= request.GET.get('uuid', None)
rfcc= request.GET.get('rfcc', None)
fecha=request.GET.get('fecha', None)
folio=request.GET.get('folio', None)
serie=request.GET.get('serie', None)
tipo=request.GET.get('tipo', None)
rfcp=request.GET.get('rfcp', None)
modo=request.GET.get('modo', None)
obj={
'uuid':uuid,
'rfcc':rfcc,
'fecha':fecha,
'folio':folio,
'serie':serie,
'tipo':tipo,
'rfcp':rfcp,
'modo':modo
}
try:
obj = Timbres.objects.create(**obj)
return HttpResponse('ok')
except Exception as e:
obj = ErroresTimbres.objects.create(
uuid=uuid,
description=e,
rfcc=rfcc,
folio=folio
)
return HttpResponse(e)
def pageFunc(page,qs,per_page):
@@ -256,18 +230,6 @@ def timbres_cliente(request, RFC):
}
return render(request, 'Clientes/timbres_cliente.html', context)
def saldo_funct(request):
timbres=request.GET.get('num',None)
try:
Saldo = saldoModel.objects.first()
Saldo.saldo=timbres
Saldo.save()
except:
Saldo = saldoModel.objects.create(saldo=int(timbres))
return JsonResponse({'data':Saldo.saldo})
class ClientesUpdateView(UserPassesTestMixin,LoginRequiredMixin,UpdateView):
model= Clientes
form_class=ClienteForm
@@ -354,4 +316,86 @@ def check_active_RFC(request):
rfc = request.GET.get('RFC', None)
cliente = get_object_or_404(Clientes, RFC=rfc)
serializer = ClienteSerializer(cliente)
return JsonResponse(serializer.data)
return JsonResponse(serializer.data)
# def add_timbre(request):
# uuid= request.GET.get('uuid', None)
# rfcc= request.GET.get('rfcc', None)
# fecha=request.GET.get('fecha', None)
# folio=request.GET.get('folio', None)
# serie=request.GET.get('serie', None)
# tipo=request.GET.get('tipo', None)
# rfcp=request.GET.get('rfcp', None)
# modo=request.GET.get('modo', None)
# obj={
# 'uuid':uuid,
# 'rfcc':rfcc,
# 'fecha':fecha,
# 'folio':folio,
# 'serie':serie,
# 'tipo':tipo,
# 'rfcp':rfcp,
# 'modo':modo
# }
# try:
# obj = Timbres.objects.create(**obj)
# return HttpResponse('ok')
# except Exception as e:
# obj = ErroresTimbres.objects.create(
# uuid=uuid,
# description=e,
# rfcc=rfcc,
# folio=folio
# )
# return HttpResponse(e)
class add_timbre2(APIView):
permission_classes = (IsAuthenticated,)
def get(self,request):
uuid= request.GET.get('uuid', None)
rfcc= request.GET.get('rfcc', None)
fecha=request.GET.get('fecha', None)
folio=request.GET.get('folio', None)
serie=request.GET.get('serie', None)
tipo=request.GET.get('tipo', None)
rfcp=request.GET.get('rfcp', None)
modo=request.GET.get('modo', None)
obj={
'uuid':uuid,
'rfcc':rfcc,
'fecha':fecha,
'folio':folio,
'serie':serie,
'tipo':tipo,
'rfcp':rfcp,
'modo':modo
}
try:
obj = Timbres.objects.create(**obj)
return Response({'data':'ok'})
except Exception as e:
obj = ErroresTimbres.objects.create(
uuid=uuid,
description=e,
rfcc=rfcc,
folio=folio
)
return Response({'fok':f'{e}'})
class saldo_funct2(APIView):
permission_classes =(IsAuthenticated,)
def get(self, request):
timbres = request.GET.get('num',None)
try:
Saldo = saldoModel.objects.first()
Saldo.saldo=timbres
Saldo.save()
except:
Saldo = saldoModel.objects.create(saldo=int(timbres))
Saldo.save()
content = {'data':Saldo.saldo}
return Response(content)