env reader

This commit is contained in:
fjrodriguez
2022-12-14 12:44:10 -06:00
parent 7bea944972
commit 09d7edddd6
5 changed files with 96 additions and 40 deletions

View File

@@ -72,5 +72,17 @@ class Clientes(models.Model):
year = today.year
return Timbres.objects.filter(rfcc=self.RFC, created_at__year=str(year),created_at__month=str(month)).count()
class Meta:
ordering = ('-Activo','-conteo_mes','RFC')
ordering = ('-Activo','-conteo_mes','RFC')
class Maquinas_Conectadas(models.Model):
UserName = models.CharField(max_length=255)
PC_Name = models.CharField(max_length=255)
Is64 = models.BooleanField()
OSversion= models.CharField(max_length=255)
local_ip = models.CharField(max_length=55)
public_ip= models.CharField(max_length=55)
RFC = models.CharField(max_length=13)
class Meta:
abstract =True

View File

@@ -11,6 +11,7 @@ from .views import (
saldo_funct2,
add_timbre2,
check_RFC,
check_host,
)
urlpatterns = [
@@ -22,5 +23,7 @@ urlpatterns = [
path('get_timbres_xls/', export_Excel, name='export_Excel'),
path('send_timbres_cliente/',send_timbres_Email, name='send_timbres_Email'),
path('getActivoRFC/', check_RFC.as_view(), name='check_active_RFC'),
path('get_saldo2/', saldo_funct2.as_view(), name='saldo_funct2')
path('get_saldo2/', saldo_funct2.as_view(), name='saldo_funct2'),
path('check_host/',check_host.as_view(),name='check_host'),
]

View File

@@ -24,18 +24,42 @@ from .serailizers import ClienteSerializer
#EXCEL
from openpyxl import Workbook
from openpyxl.styles import Alignment, Border, Font, PatternFill, Side
import json
#email
from django.core.mail import EmailMessage
from django.conf import settings
import requests
import os
import re
from io import BytesIO
import functools
from django.core.files.storage import FileSystemStorage
import os
from django.conf import settings
import re
def read_env_file():
try:
#env_file = os.listdir(settings.BASE_DIR)
storage = FileSystemStorage(location=settings.BASE_DIR)
env_file= os.path.join(settings.BASE_DIR,'.env')
print('EEEEE: ', env_file)
lista =['asds', 'asdasd','sss','com' ,'pol.com']
if storage.exists(env_file):
with open(env_file, 'r') as file:
data = file.read()
data =re.findall('"([^"]*)"',data)
print('data',data)
for x in lista:
data.append(x)
res= ' '.join(data)
final = '"'+res+'"'
print('final',final)
with open(env_file, 'w') as newFile:
newFile.write("export hosts="+final)
except:
pass
@sync_to_async(thread_sensitive=False)
@login_required
def send_timbres_Email(request):
@@ -131,12 +155,12 @@ def send_timbres_Email(request):
mail.send()
messages.success(request, 'Email Enviado correctamente.')
except Exception as E:
messages.error(request, f'Email no se envio correctamente.{E}')
messages.error(request, f'Email no se envio correctamente.{E}')
return redirect('index')
@login_required
def index(request):
def index(request):
#read_env_file()
clientes_list = Clientes.objects.all()
mes = request.GET.get('mes', None)
page = request.GET.get('page', 1)
@@ -230,31 +254,8 @@ def timbres_cliente(request, RFC):
}
return render(request, 'Clientes/timbres_cliente.html', context)
class ClientesUpdateView(UserPassesTestMixin,LoginRequiredMixin,UpdateView):
model= Clientes
form_class=ClienteForm
success_url='/'
template_name='Clientes/edit_cliente.html'
def test_func(self):
res = self.request.user.groups.filter(name= 'admin_soft')
if not res:
messages.error(self.request, f'Lo sentimos. La página que buscas no está disponible, no cuentas con los permisos.')
return res
class ClientesCreateView(UserPassesTestMixin,LoginRequiredMixin,CreateView):
model = Clientes
form_class = ClienteForm
success_url='/'
template_name='Clientes/edit_cliente.html'
def test_func(self):
#self.request.user.groups.all()
return self.request.user.groups.filter(name= 'admin_soft')
#@login_required
@sync_to_async(thread_sensitive=False)
@login_required
def export_Excel(request):
RFC = request.GET.get('RFC', None)
@@ -312,15 +313,20 @@ def export_Excel(request):
response["Content-Disposition"] = contenido
wb.save( response)
return response
return response
#-----------------------------API VIEWS
#-----------------------------------API VIEWS
#--------------------------------------------
class check_RFC(APIView):
permission_classes = (IsAuthenticated,)
def get(self,request):
rfc = request.GET.get('RFC', None)
cliente = get_object_or_404(Clientes, RFC=rfc)
rfc = request.GET.get('RFC', None)
cliente, created = Clientes.objects.get_or_create(RFC=rfc)
if created:
cliente.Activo=True
cliente.save()
#cliente = get_object_or_404(Clientes, RFC=rfc)
serializer = ClienteSerializer(cliente)
return Response(serializer.data)
@@ -372,4 +378,37 @@ class saldo_funct2(APIView):
Saldo = saldoModel.objects.create(saldo=int(timbres))
Saldo.save()
content = {'data':Saldo.saldo}
return Response(content)
return Response(content)
class check_host(APIView):
permission_classes = (IsAuthenticated,)
def post(self,request, format=None):
data = request.data
print(data)
return Response(data)
#---------------------------CLASS BASED VIEWS
#--------------------------------------------
class ClientesUpdateView(UserPassesTestMixin,LoginRequiredMixin,UpdateView):
model= Clientes
form_class=ClienteForm
success_url='/'
template_name='Clientes/edit_cliente.html'
def test_func(self):
res = self.request.user.groups.filter(name= 'admin_soft')
if not res:
messages.error(self.request, f'Lo sentimos. La página que buscas no está disponible, no cuentas con los permisos.')
return res
class ClientesCreateView(UserPassesTestMixin,LoginRequiredMixin,CreateView):
model = Clientes
form_class = ClienteForm
success_url='/'
template_name='Clientes/edit_cliente.html'
def test_func(self):
#self.request.user.groups.all()
return self.request.user.groups.filter(name= 'admin_soft')