year added to index view

This commit is contained in:
fjrodriguez
2023-01-05 16:09:22 -06:00
parent 64555bc92a
commit f437232861
8 changed files with 106 additions and 57 deletions

View File

@@ -40,11 +40,13 @@ class Clientes(models.Model):
fecha_baja = models.DateField(blank=True,null=True)
email = models.EmailField(max_length=254, blank=True)
conteo_mes = models.IntegerField(blank=True,null=True,default=0)
def timbres_X_MES(self, mes=None):
def timbres_X_MES(self, mes=None, year=None):
today = datetime.date.today()
year = today.year
if year is None:
year = today.year
if mes==None:
mes = today.month
dat = datetime.datetime(int(year),int(mes),1)
if dat.month in (1,3,5,7,8,10,12):#31
findate = dat + datetime.timedelta(days=30)

View File

@@ -9,6 +9,7 @@ from .views import (
send_timbres_Email,
Retrive_Cliente_Email,
PACS_Retrive_RFCS,
#API DRF
saldo_funct2,
@@ -31,4 +32,6 @@ 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'),
]

View File

@@ -84,7 +84,7 @@ def send_timbres_Email(request):
if req=='POST':
email = form.cleaned_data["email"] if 'email' in form.cleaned_data.keys() else ''
emails = [Cli.email] if req=='GET' else [ Cli.email, email ]
if len(emails) ==0 :
messages.add_message(request, messages.ERROR, f'La lista de correos esta vacia, favor de agregar un correo.')
return redirect('index')
@@ -132,9 +132,9 @@ def send_timbres_Email(request):
contenido = "attachment; filename = {0}".format(nombre_archivo)
response["Content-Disposition"] = contenido
wb.save(response)
files = BytesIO(response.content)
try:
mail = EmailMessage(subject,message,settings.EMAIL_HOST_USER,emails)
mail.attach(filename='Timbres.xls',content=files.getbuffer(),mimetype='application/vnd.ms-excel')
@@ -164,7 +164,11 @@ def index(request):
clientes_list = Clientes.objects.all()
mes = request.GET.get('mes', None)
today = datetime.date.today()
if mes is None or mes =='None':
year = request.GET.get('year',None)
if year is None or year =='None':
year= today.year
if mes is None or mes =='None':
mes = today.month
page = request.GET.get('page', 1)
search = request.GET.get('search',None)
@@ -174,6 +178,7 @@ def index(request):
filters.pop('datepicker','')
filters.pop('datepickerFin','')
filters.pop('mes','')
filters.pop('year','')
print('filters------',filters)
if rfcc and search:
clientes_list = Clientes.objects.filter(Q(RFC__icontains=search))
@@ -184,7 +189,7 @@ def index(request):
while met:
try:
c = next(met)
c.timbres_X_MES(mes=mes)
c.timbres_X_MES(mes=mes,year=year)
except StopIteration:
break
@@ -193,6 +198,7 @@ def index(request):
context = {
'lista':clientes_list,
'mes':mes,
'year':year,
'filters':filters,
'emailForm':EmailForm(),
}
@@ -231,8 +237,6 @@ def timbres_cliente(request, RFC):
if PAC is not None and PAC !='00':
lista = lista.filter(rfcp=PAC)
filters = {key:value[0] for (key,value) in dict(request.GET).items() if value !=[""]}
filters.pop('page', '')
@@ -257,11 +261,10 @@ def timbres_cliente(request, RFC):
# end = datetime.datetime(fin[2],fin[0],fin[1])
end = datetime.datetime(fin[0],fin[1],fin[2])
end += datetime.timedelta(days=1)
end += datetime.timedelta(days=1)
#print('start',start, 'end',end)
lista = lista.filter(created_at__range=[start, end])
if mes is None or mes =='None' or mes=='':
mes='00' #Todos
@@ -358,9 +361,10 @@ def Retrive_Cliente_Email(request):
#@is_staff_access()
def PACS_Retrive_RFCS(request):
timbres = {}
status = 200
if request.method == 'GET':
RFC= request.GET.get('RFC','')
status = 200
if RFC !='':
timbres =list(Timbres.objects.values('rfcp').filter(rfcc__in=[RFC]))
else:
@@ -369,6 +373,8 @@ def PACS_Retrive_RFCS(request):
status=403
return JsonResponse({'PACS':timbres},status=status)
#-----------------------------------API VIEWS
#--------------------------------------------
from rest_framework import status
@@ -449,7 +455,6 @@ class ErroresTimbresListView(LoginRequiredMixin,ListView):
model = ErroresTimbres
paginate_by = 100
template_name = 'Clientes/Errores_Timbres_list.html'
class ClientesUpdateView(UserPassesTestMixin,LoginRequiredMixin,UpdateView):
model= Clientes