From f2aad5de52611ece432db857c5651197b99abf5b Mon Sep 17 00:00:00 2001 From: fjrodriguez Date: Wed, 30 Nov 2022 16:02:16 -0600 Subject: [PATCH] Timbres com dig available --- Clientes/__init__.py | 1 + Clientes/admin.py | 5 +++-- Clientes/apps.py | 9 +++++++++ Clientes/migrations/0004_saldomodel.py | 20 ++++++++++++++++++++ Clientes/models.py | 5 +++++ Clientes/saldo_context_proc.py | 16 +++++++++++++--- Clientes/signals.py | 9 +++++++++ Clientes/urls.py | 8 +++----- Clientes/views.py | 19 ++++++++++++++++--- Templates/Clientes/index.html | 5 ++++- 10 files changed, 83 insertions(+), 14 deletions(-) create mode 100644 Clientes/migrations/0004_saldomodel.py create mode 100644 Clientes/signals.py diff --git a/Clientes/__init__.py b/Clientes/__init__.py index e69de29..585991c 100644 --- a/Clientes/__init__.py +++ b/Clientes/__init__.py @@ -0,0 +1 @@ +default_app_config ='Clientes.ClientesConfig' \ No newline at end of file diff --git a/Clientes/admin.py b/Clientes/admin.py index ff681ed..f33d67a 100644 --- a/Clientes/admin.py +++ b/Clientes/admin.py @@ -1,4 +1,5 @@ from django.contrib import admin -from .models import Timbres +from .models import Timbres, saldoModel -admin.site.register(Timbres) \ No newline at end of file +admin.site.register(Timbres) +admin.site.register(saldoModel) diff --git a/Clientes/apps.py b/Clientes/apps.py index d47b671..1d4901b 100644 --- a/Clientes/apps.py +++ b/Clientes/apps.py @@ -1,6 +1,15 @@ from django.apps import AppConfig +from django.db.models.signals import post_save class ClientesConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'Clientes' + + def ready(self): + + + from .models import saldoModel + from .signals import save_saldo + post_save.connect(save_saldo,sender=saldoModel) + \ No newline at end of file diff --git a/Clientes/migrations/0004_saldomodel.py b/Clientes/migrations/0004_saldomodel.py new file mode 100644 index 0000000..97c2f44 --- /dev/null +++ b/Clientes/migrations/0004_saldomodel.py @@ -0,0 +1,20 @@ +# Generated by Django 4.1.3 on 2022-11-30 17:41 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('Clientes', '0003_alter_timbres_options_timbres_created_at'), + ] + + operations = [ + migrations.CreateModel( + name='saldoModel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('saldo', models.IntegerField()), + ], + ), + ] diff --git a/Clientes/models.py b/Clientes/models.py index 5173e99..f00a646 100644 --- a/Clientes/models.py +++ b/Clientes/models.py @@ -1,5 +1,10 @@ from django.db import models + +class saldoModel(models.Model): + saldo = models.IntegerField() + + class Timbres(models.Model): uuid = models.CharField(max_length=36, unique=True) rfcc = models.CharField(max_length=13) diff --git a/Clientes/saldo_context_proc.py b/Clientes/saldo_context_proc.py index b681f07..88235fc 100644 --- a/Clientes/saldo_context_proc.py +++ b/Clientes/saldo_context_proc.py @@ -1,11 +1,21 @@ import requests from asgiref.sync import sync_to_async - +from .models import saldoModel +#from django.urls import reverse async def req(): + results = await sync_to_async(get_saldo, thread_sensitive=True) -def get_saldo(r): +def get_saldo(request): + try: + Saldo = saldoModel.objects.first() + except: + Saldo = saldoModel.objects.create(saldo=1) + if not Saldo : + Saldo = saldoModel.objects.create(saldo=1) + Saldo.save() + #print( reverse('saldo_funct') ) #r = requests.get('https://app2.comercio-digital.mx/x3/saldo?usr=SCT050708AD1&pwd=0dcu2SwCv',verify=False) - return {'saldo':'j'} + return {'saldo':Saldo} diff --git a/Clientes/signals.py b/Clientes/signals.py new file mode 100644 index 0000000..d4feaf4 --- /dev/null +++ b/Clientes/signals.py @@ -0,0 +1,9 @@ +from django.db.models.signals import post_save +from django.dispatch import receiver +from .saldo_context_proc import get_saldo +#@receiver(post_save, sender=saldoModel) +def save_saldo(sender,instance,**kwargs): + pass + #print('----save_saldo') + #get_saldo() + #print(sender,instance.saldo,kwargs) diff --git a/Clientes/urls.py b/Clientes/urls.py index a0b11ce..05d8a10 100644 --- a/Clientes/urls.py +++ b/Clientes/urls.py @@ -1,10 +1,8 @@ from django.urls import path,include -from .views import index,add_timbre, timbres_cliente +from .views import index,add_timbre, timbres_cliente,saldo_funct urlpatterns = [ path('', index, name='index'), path('add_timbre/', add_timbre, name='add_timbre'), - path('timbres_cliente//', timbres_cliente, name='timbres_cliente'), - - - + path('timbres_cliente//', timbres_cliente, name='timbres_cliente'), + path('get_saldo/', saldo_funct, name='saldo_funct'), ] \ No newline at end of file diff --git a/Clientes/views.py b/Clientes/views.py index ea26e5a..17559f1 100644 --- a/Clientes/views.py +++ b/Clientes/views.py @@ -1,7 +1,8 @@ from django.shortcuts import render from django.http import HttpResponse +from django.http import JsonResponse from django.contrib.auth.decorators import login_required -from .models import Timbres +from .models import Timbres,saldoModel from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.db.models import Q import datetime @@ -78,7 +79,7 @@ def timbres_cliente(request, RFC): filters = {key:value for (key,value) in dict(request.GET).items() if value !=None} - print(filters) + print('filters',filters) if tipo: lista = lista.filter(Q(tipo__icontains=search)) if datepicker and datepickerFin: @@ -100,4 +101,16 @@ def timbres_cliente(request, RFC): 'conteo':conteo, 'RFC':RFC } - return render(request, 'Clientes/timbres_cliente.html', context) \ No newline at end of file + 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}) \ No newline at end of file diff --git a/Templates/Clientes/index.html b/Templates/Clientes/index.html index a4bba79..e3b5c1d 100644 --- a/Templates/Clientes/index.html +++ b/Templates/Clientes/index.html @@ -11,7 +11,10 @@ {% block content %}
-

Timbres disponibles Comercio Digital: {{saldo}}

+ + +

Timbres disponibles Comercio Digital: {{saldo.saldo}}

+