From 79364700d24f206e782526c9409154ab2352dad4 Mon Sep 17 00:00:00 2001 From: fjrodriguez Date: Tue, 20 Dec 2022 12:51:02 -0600 Subject: [PATCH] reset password --- Admin/settings.py | 4 +- Clientes/tests.py | 55 +++++++++++++++- Clientes/urls.py | 2 + Clientes/views.py | 29 +++++--- Templates/Clientes/Errores_Timbres_list.html | 69 ++++++++++++++++++++ Templates/account/login.html | 4 +- Templates/paginator.html | 1 - Templates/sidebar.html | 17 +++-- 8 files changed, 160 insertions(+), 21 deletions(-) create mode 100644 Templates/Clientes/Errores_Timbres_list.html diff --git a/Admin/settings.py b/Admin/settings.py index e04958b..aa8120b 100644 --- a/Admin/settings.py +++ b/Admin/settings.py @@ -13,8 +13,10 @@ BASE_DIR = Path(__file__).resolve().parent.parent # See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = os.getenv("adminAS_KEY") + # SECURITY WARNING: don't run with debug turned on in production! DEBUG = False + ALLOWED_HOSTS = ['*'] # Application definition INSTALLED_APPS = [ @@ -96,7 +98,7 @@ ACCOUNT_SIGNUP_REDIRECT_URL =LOGIN_REDIRECT_URL ACCOUNT_LOGOUT_ON_PASSWORD_CHANGE = True EMAIL_TIMEOUT = 10 -#EMAIL_USE_TLS = True +EMAIL_USE_TLS = False EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'secure.emailsrvr.com' EMAIL_PORT = 465 diff --git a/Clientes/tests.py b/Clientes/tests.py index 7ce503c..882f46f 100644 --- a/Clientes/tests.py +++ b/Clientes/tests.py @@ -1,3 +1,56 @@ from django.test import TestCase +from django.urls import reverse -# Create your tests here. +from django.contrib.auth.models import User +from .models import Clientes + +class ClientesTests(TestCase): + @classmethod + def setUpTestData(cls): + test_user = User.objects.create_user(username='testuser1',password='Soluciones28@') + test_user.save() + + cls.cliente = Clientes.objects.create( + RFC="SCT050708EB2", + Nombre="Aduanasoft", + Activo=True, + #fecha_baja="2022-12-20", + email="fjrodriguez28@gmail.com", + conteo_mes=12, + ) + + + def test_redirect_if_not_logged_in(self): + response = self.client.get(reverse('index')) + self.assertRedirects(response, '/accounts/login/?next=/') + + def test_cliente_content(self): + self.assertEqual(self.cliente.RFC,"SCT050708EB2") + self.assertEqual(self.cliente.Nombre,"Aduanasoft") + self.assertEqual(self.cliente.Activo,True) + #self.assertEqual(self.cliente.fecha_baja,"2022-12-20") + self.assertEqual(self.cliente.email,"fjrodriguez28@gmail.com") + self.assertEqual(self.cliente.conteo_mes,12) + + #test for login user view and contains client with RFC SCT... + def test_cliente_login_cliente_listview(self): + login = self.client.login(username='testuser1',password='Soluciones28@') + response = self.client.get(reverse('index')) + + self.assertEqual(str(response.context['user']), 'testuser1') + + self.assertEqual(response.status_code,200) + self.assertContains(response, "SCT050708EB2") + self.assertTemplateUsed(response, "Clientes/index.html") + +#---------------_APIs Views Tests +from rest_framework import status +from rest_framework.test import APITestCase, APIClient + +class APITests(APITestCase): + @classmethod + def setUpTestData(cls): + pass + + def test_api_check_RFC(self): + pass \ No newline at end of file diff --git a/Clientes/urls.py b/Clientes/urls.py index 76c78ae..b65b39d 100644 --- a/Clientes/urls.py +++ b/Clientes/urls.py @@ -4,6 +4,7 @@ from .views import ( timbres_cliente, ClientesUpdateView, ClientesCreateView, + ErroresTimbresListView, export_Excel, send_timbres_Email, Retrive_Cliente_Email, @@ -22,6 +23,7 @@ urlpatterns = [ path('timbres_cliente//', timbres_cliente, name='timbres_cliente'), path('cliente/update//',ClientesUpdateView.as_view(),name='update_cliente'), path('cliente/add/', ClientesCreateView.as_view(), name='add_cliente'), + path('errores/timbres/list/', ErroresTimbresListView.as_view(), name='ErroresTimbresList'), 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'), diff --git a/Clientes/views.py b/Clientes/views.py index 6970a91..e43d8ad 100644 --- a/Clientes/views.py +++ b/Clientes/views.py @@ -13,6 +13,7 @@ from django.contrib.auth.decorators import login_required from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.db.models import Q from django.views.generic.edit import CreateView,UpdateView +from django.views.generic.list import ListView from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin from .custom_decorators import is_staff_access, http_basic_auth @@ -357,16 +358,22 @@ def PACS_Retrive_RFCS(request): #-----------------------------------API VIEWS #-------------------------------------------- +from rest_framework import status class check_RFC(APIView): permission_classes = (IsAuthenticated,) def get(self,request): - rfc = request.GET.get('RFC', None) - cliente, created = Clientes.objects.get_or_create(RFC=rfc) - if created: - cliente.Activo=True - cliente.save() - serializer = ClienteSerializer(cliente) - return Response(serializer.data) + rfc = request.GET.get('RFC', None) + try: + cliente, created = Clientes.objects.get_or_create(RFC=rfc) + serializer = ClienteSerializer(cliente) + if not serializer.is_valid: + return Response(serializer.errors,status=400) + if created: + cliente.Activo=True + cliente.save() + return Response(serializer.data) + except Exception as E: + return Response({'Error':f'check_RFC:{E} RFC:{rfc}','isError':True}) class add_timbre2(APIView): permission_classes = (IsAuthenticated,) @@ -400,7 +407,7 @@ class add_timbre2(APIView): folio=folio, modo=modo ) - return Response({'fok':f'{e}'}) + return Response({'Error':f'{e}'}) class saldo_funct2(APIView): permission_classes =(IsAuthenticated,) @@ -425,6 +432,12 @@ class check_host(APIView): #---------------------------CLASS BASED VIEWS #-------------------------------------------- +class ErroresTimbresListView(LoginRequiredMixin,ListView): + model = ErroresTimbres + paginate_by = 100 + template_name = 'Clientes/Errores_Timbres_list.html' + + class ClientesUpdateView(UserPassesTestMixin,LoginRequiredMixin,UpdateView): model= Clientes form_class=ClienteForm diff --git a/Templates/Clientes/Errores_Timbres_list.html b/Templates/Clientes/Errores_Timbres_list.html new file mode 100644 index 0000000..bb37dc4 --- /dev/null +++ b/Templates/Clientes/Errores_Timbres_list.html @@ -0,0 +1,69 @@ +{% extends "base.html" %} + + + +{% block content %} +
+ + + + + + + + + + + {% for errTimbre in object_list %} + + + + + + + {% endfor %} + +
UUIDErrorRCFFolio
{{errTimbre.uuid}}{{errTimbre.description}}{{errTimbre.rfcc}}{{errTimbre.folio}}
+
+ +{% if page_obj.has_other_pages %} + + +{% endif %} + +{% endblock content %} + \ No newline at end of file diff --git a/Templates/account/login.html b/Templates/account/login.html index 0800017..6cd05cc 100644 --- a/Templates/account/login.html +++ b/Templates/account/login.html @@ -43,7 +43,9 @@ - +
+

No recuerdas tu contrasena? Reset password

+
{% comment %}

Don't have an account? Register Here

diff --git a/Templates/paginator.html b/Templates/paginator.html index 1c52f8a..28700c5 100644 --- a/Templates/paginator.html +++ b/Templates/paginator.html @@ -37,4 +37,3 @@ {% endif %} -
\ No newline at end of file diff --git a/Templates/sidebar.html b/Templates/sidebar.html index 033794d..48105ea 100644 --- a/Templates/sidebar.html +++ b/Templates/sidebar.html @@ -60,15 +60,14 @@ - - Another action - - Something else here + + {% if request.user.is_superuser %} + Lista Errores + + {% endif %} + + Something else here - - - - - + \ No newline at end of file