env reader
This commit is contained in:
@@ -7,6 +7,7 @@ from django.shortcuts import render
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import HttpResponse
|
||||
from django.test import SimpleTestCase, override_settings
|
||||
from rest_framework.authtoken.views import obtain_auth_token
|
||||
|
||||
def response_error_handler(request, exception=None):
|
||||
context={}
|
||||
@@ -21,6 +22,7 @@ def permission_denied_view(request):
|
||||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
path('accounts/', include('allauth.urls')),
|
||||
path('DRF_Token/', obtain_auth_token, name='DRF_Token'),
|
||||
path('', include('Clientes.urls')),
|
||||
path('403/', permission_denied_view),
|
||||
]
|
||||
|
||||
@@ -74,3 +74,15 @@ class Clientes(models.Model):
|
||||
class Meta:
|
||||
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
|
||||
|
||||
|
||||
@@ -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'),
|
||||
|
||||
]
|
||||
@@ -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):
|
||||
@@ -132,11 +156,11 @@ def send_timbres_Email(request):
|
||||
messages.success(request, 'Email Enviado correctamente.')
|
||||
except Exception as E:
|
||||
messages.error(request, f'Email no se envio correctamente.{E}')
|
||||
|
||||
return redirect('index')
|
||||
|
||||
@login_required
|
||||
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)
|
||||
@@ -315,12 +316,17 @@ def export_Excel(request):
|
||||
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)
|
||||
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)
|
||||
|
||||
@@ -373,3 +379,36 @@ class saldo_funct2(APIView):
|
||||
Saldo.save()
|
||||
content = {'data':Saldo.saldo}
|
||||
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')
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<!-- Bootstrap CSS -->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.2.1/dist/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
|
||||
|
||||
<title>Hello, world!</title>
|
||||
<title>AS Admin Permiso No concedido</title>
|
||||
</head>
|
||||
<body >
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user