New functionality
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
from django.contrib import admin
|
||||
from .models import Timbres, saldoModel
|
||||
from .models import Timbres, saldoModel, Clientes
|
||||
|
||||
admin.site.register(Timbres)
|
||||
admin.site.register(saldoModel)
|
||||
admin.site.register(Clientes)
|
||||
|
||||
|
||||
@@ -6,10 +6,8 @@ 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)
|
||||
def ready(self):
|
||||
from .models import Timbres
|
||||
from .signals import save_Cliente
|
||||
post_save.connect(save_Cliente,sender=Timbres)
|
||||
|
||||
26
Clientes/migrations/0005_clientes.py
Normal file
26
Clientes/migrations/0005_clientes.py
Normal file
@@ -0,0 +1,26 @@
|
||||
# Generated by Django 4.1.3 on 2022-12-01 13:35
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('Clientes', '0004_saldomodel'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Clientes',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('RFC', models.CharField(max_length=13, unique=True)),
|
||||
('Nombre', models.CharField(max_length=100)),
|
||||
('Activo', models.BooleanField(default=True)),
|
||||
('fecha_baja', models.DateField(blank=True)),
|
||||
],
|
||||
options={
|
||||
'ordering': ('RFC',),
|
||||
},
|
||||
),
|
||||
]
|
||||
18
Clientes/migrations/0006_alter_clientes_fecha_baja.py
Normal file
18
Clientes/migrations/0006_alter_clientes_fecha_baja.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 4.1.3 on 2022-12-01 13:54
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('Clientes', '0005_clientes'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='clientes',
|
||||
name='fecha_baja',
|
||||
field=models.DateField(blank=True, null=True),
|
||||
),
|
||||
]
|
||||
18
Clientes/migrations/0007_alter_timbres_serie.py
Normal file
18
Clientes/migrations/0007_alter_timbres_serie.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 4.1.3 on 2022-12-01 13:58
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('Clientes', '0006_alter_clientes_fecha_baja'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='timbres',
|
||||
name='serie',
|
||||
field=models.CharField(blank=True, max_length=10),
|
||||
),
|
||||
]
|
||||
27
Clientes/migrations/0008_errorestimbres.py
Normal file
27
Clientes/migrations/0008_errorestimbres.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# Generated by Django 4.1.3 on 2022-12-01 16:24
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('Clientes', '0007_alter_timbres_serie'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='ErroresTimbres',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('uuid', models.CharField(max_length=36)),
|
||||
('description', models.TextField()),
|
||||
('rfcc', models.CharField(max_length=13)),
|
||||
('folio', models.CharField(max_length=55)),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
],
|
||||
options={
|
||||
'ordering': ('uuid',),
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -1,4 +1,5 @@
|
||||
from django.db import models
|
||||
import datetime
|
||||
|
||||
|
||||
class saldoModel(models.Model):
|
||||
@@ -11,10 +12,11 @@ class Timbres(models.Model):
|
||||
rfcp = models.CharField(max_length=13)
|
||||
fecha = models.CharField(max_length=55)
|
||||
folio = models.CharField(max_length=55)
|
||||
serie = models.CharField(max_length=10)
|
||||
serie = models.CharField(max_length=10,blank=True)
|
||||
tipo = models.CharField(max_length=35)
|
||||
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
class Meta:
|
||||
ordering = ('-created_at',)
|
||||
|
||||
@@ -28,7 +30,7 @@ class ErroresTimbres(models.Model):
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
class Meta:
|
||||
ordering = ('uuid',)
|
||||
abstract = True
|
||||
|
||||
|
||||
class Clientes(models.Model):
|
||||
RFC = models.CharField(max_length=13, unique=True)
|
||||
@@ -36,9 +38,13 @@ class Clientes(models.Model):
|
||||
|
||||
|
||||
Activo = models.BooleanField(default=True)
|
||||
fecha_baja = models.DateField(blank=True)
|
||||
|
||||
fecha_baja = models.DateField(blank=True,null=True)
|
||||
|
||||
@property
|
||||
def timbres_mes_count(self):
|
||||
print('date',datetime.date.today())
|
||||
return Timbres.objects.filter(rfcc=self.RFC, created_at__gte=datetime.date.today()).count()
|
||||
class Meta:
|
||||
ordering = ('RFC',)
|
||||
abstract =True
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import requests
|
||||
from asgiref.sync import sync_to_async
|
||||
from .models import saldoModel
|
||||
#from django.urls import reverse
|
||||
import datetime
|
||||
async def req():
|
||||
|
||||
results = await sync_to_async(get_saldo, thread_sensitive=True)
|
||||
@@ -10,12 +10,15 @@ def get_saldo(request):
|
||||
try:
|
||||
Saldo = saldoModel.objects.first()
|
||||
except:
|
||||
Saldo = saldoModel.objects.create(saldo=1)
|
||||
pass
|
||||
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':Saldo}
|
||||
return {
|
||||
'saldo':Saldo,
|
||||
'fecha': datetime.date.today()
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
from django.db.models.signals import post_save
|
||||
from django.dispatch import receiver
|
||||
from .saldo_context_proc import get_saldo
|
||||
from .models import Clientes
|
||||
#@receiver(post_save, sender=saldoModel)
|
||||
def save_saldo(sender,instance,**kwargs):
|
||||
pass
|
||||
#print('----save_saldo')
|
||||
#get_saldo()
|
||||
#print(sender,instance.saldo,kwargs)
|
||||
def save_Cliente(sender,instance,**kwargs):
|
||||
obj, created = Clientes.objects.get_or_create(RFC=instance.rfcc)
|
||||
if created:
|
||||
print(f'----signal se creo cliente {obj.RFC}')
|
||||
@@ -2,33 +2,34 @@ 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,saldoModel
|
||||
from .models import Clientes,Timbres,saldoModel,ErroresTimbres
|
||||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||||
from django.db.models import Q
|
||||
import datetime
|
||||
|
||||
@login_required
|
||||
def index(request):
|
||||
|
||||
timbres_list = Timbres.objects.values('rfcc').distinct()
|
||||
clientes_list = Clientes.objects.all()
|
||||
|
||||
|
||||
page = request.GET.get('page', 1)
|
||||
|
||||
search = request.GET.get('search',None)
|
||||
rfcc = request.GET.get('rfcc', None)
|
||||
if rfcc:
|
||||
timbres_list = Timbres.objects.filter(Q(rfcc__icontains=search))
|
||||
clientes_list = Clientes.objects.filter(Q(RFC__icontains=search))
|
||||
|
||||
paginator = Paginator(timbres_list, 1)
|
||||
paginator = Paginator(clientes_list, 1)
|
||||
|
||||
try:
|
||||
timbres = paginator.page(page)
|
||||
clientes = paginator.page(page)
|
||||
except PageNotAnInteger:
|
||||
timbres = paginator.page(1)
|
||||
clientes = paginator.page(1)
|
||||
except EmptyPage:
|
||||
timbres = paginator.page(paginator.num_pages)
|
||||
clientes = paginator.page(paginator.num_pages)
|
||||
context = {
|
||||
'timbres':timbres,
|
||||
'clientes':clientes,
|
||||
|
||||
}
|
||||
return render(request,'Clientes/index.html',context)
|
||||
|
||||
@@ -54,7 +55,12 @@ def add_timbre(request):
|
||||
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)
|
||||
|
||||
|
||||
@@ -68,6 +74,8 @@ def pageFunc(page,qs,per_page):
|
||||
qs = paginator.page(paginator.num_pages)
|
||||
return qs
|
||||
|
||||
|
||||
@login_required
|
||||
def timbres_cliente(request, RFC):
|
||||
lista = Timbres.objects.filter(rfcc=RFC)
|
||||
|
||||
@@ -103,7 +111,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:
|
||||
|
||||
Reference in New Issue
Block a user