epok-toolkit 1.12.2__py3-none-any.whl → 1.12.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of epok-toolkit might be problematic. Click here for more details.
- epok_toolkit/django/viewsets.py +35 -17
- {epok_toolkit-1.12.2.dist-info → epok_toolkit-1.12.4.dist-info}/METADATA +2 -2
- {epok_toolkit-1.12.2.dist-info → epok_toolkit-1.12.4.dist-info}/RECORD +6 -6
- {epok_toolkit-1.12.2.dist-info → epok_toolkit-1.12.4.dist-info}/WHEEL +0 -0
- {epok_toolkit-1.12.2.dist-info → epok_toolkit-1.12.4.dist-info}/licenses/LICENSE +0 -0
- {epok_toolkit-1.12.2.dist-info → epok_toolkit-1.12.4.dist-info}/top_level.txt +0 -0
epok_toolkit/django/viewsets.py
CHANGED
|
@@ -16,12 +16,16 @@ class DefaultPagination(PageNumberPagination):
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class BaseOptimizedViewSet(viewsets.ModelViewSet):
|
|
19
|
+
"""
|
|
20
|
+
Clase base para ViewSets optimizados.
|
|
21
|
+
|
|
22
|
+
"""
|
|
19
23
|
queryset = None
|
|
20
24
|
write_serializer_class = None
|
|
21
25
|
update_serializer_class = None
|
|
22
26
|
simple_serializer_class = None
|
|
23
27
|
full_serializer_class = None
|
|
24
|
-
serializer_class =
|
|
28
|
+
serializer_class = None
|
|
25
29
|
extensions_auto_optimize = True
|
|
26
30
|
|
|
27
31
|
permission_classes = [IsAuthenticated]
|
|
@@ -39,39 +43,53 @@ class BaseOptimizedViewSet(viewsets.ModelViewSet):
|
|
|
39
43
|
manager = model_cls._default_manager
|
|
40
44
|
|
|
41
45
|
if hasattr(manager, 'simple') and self.action == 'list':
|
|
42
|
-
log.debug("| LIBRERIA |Usando
|
|
46
|
+
log.debug("| LIBRERIA | Usando QS simple")
|
|
43
47
|
qs = manager.simple()
|
|
44
48
|
elif hasattr(manager, 'full'):
|
|
45
|
-
log.debug("Usando
|
|
49
|
+
log.debug("| LIBRERIA | Usando QS full")
|
|
46
50
|
qs = manager.full()
|
|
47
51
|
|
|
48
|
-
|
|
49
|
-
log.debug("| LIBRERIA |Filtrando por created_by")
|
|
52
|
+
try:
|
|
53
|
+
log.debug("| LIBRERIA | Filtrando por created_by")
|
|
50
54
|
return qs.filter(created_by=self.request.user)
|
|
51
|
-
|
|
52
|
-
|
|
55
|
+
except Exception as e:
|
|
56
|
+
log.error(f"| LIBRERIA | Error al filtrar por created_by: {e}")
|
|
57
|
+
log.info("| LIBRERIA | Filtrado sin created_by")
|
|
58
|
+
return qs
|
|
59
|
+
|
|
53
60
|
|
|
54
61
|
def get_serializer_class(self):
|
|
55
62
|
|
|
56
63
|
match self.action:
|
|
57
|
-
case 'create':
|
|
64
|
+
case 'create' if self.write_serializer_class is not None:
|
|
58
65
|
return self.write_serializer_class
|
|
59
|
-
case 'update' | 'partial_update':
|
|
66
|
+
case 'update' | 'partial_update' if self.update_serializer_class is not None and self.write_serializer_class is not None:
|
|
60
67
|
return self.update_serializer_class
|
|
61
|
-
case 'list':
|
|
68
|
+
case 'list' if self.simple_serializer_class is not None:
|
|
62
69
|
return self.simple_serializer_class
|
|
63
|
-
case 'retrieve':
|
|
70
|
+
case 'retrieve' if self.full_serializer_class is not None:
|
|
64
71
|
return self.full_serializer_class
|
|
72
|
+
case _ if self.serializer_class is not None:
|
|
73
|
+
log.warning(f"| LIBRERIA | No se encontró serializer específico para la acción '{self.action}', usando el por defecto.")
|
|
74
|
+
return self.serializer_class
|
|
65
75
|
case _:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
76
|
+
log.error("| LIBRERIA | No se encontró serializer por defecto")
|
|
77
|
+
raise ValueError("No se encontró serializer por defecto")
|
|
78
|
+
|
|
69
79
|
def perform_create(self, serializer):
|
|
70
|
-
|
|
80
|
+
try:
|
|
71
81
|
log.debug("| LIBRERIA |Guardando con created_by y updated_by")
|
|
72
82
|
serializer.save(created_by=self.request.user, updated_by=self.request.user)
|
|
83
|
+
except Exception as e:
|
|
84
|
+
log.error(f"| LIBRERIA | Error al guardar: {e}")
|
|
85
|
+
log.info("| LIBRERIA | Guardando sin created_by y updated_by")
|
|
86
|
+
serializer.save()
|
|
73
87
|
|
|
74
88
|
def perform_update(self, serializer):
|
|
75
|
-
|
|
76
|
-
log.debug("| LIBRERIA |Guardando con updated_by")
|
|
89
|
+
try:
|
|
90
|
+
log.debug("| LIBRERIA | Guardando con updated_by")
|
|
77
91
|
serializer.save(updated_by=self.request.user)
|
|
92
|
+
except Exception as e:
|
|
93
|
+
log.error(f"| LIBRERIA | Error al actualizar: {e}")
|
|
94
|
+
log.info("| LIBRERIA | Guardando sin updated_by")
|
|
95
|
+
serializer.save()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: epok-toolkit
|
|
3
|
-
Version: 1.12.
|
|
3
|
+
Version: 1.12.4
|
|
4
4
|
Summary: Una herramienta para la gestión de tareas y procesos en Django con Celery.
|
|
5
5
|
Author-email: Fernando Leon Franco <fernanlee2131@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -23,7 +23,7 @@ Dynamic: license-file
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
# EPOK Toolkit 'v1.
|
|
26
|
+
# EPOK Toolkit 'v1.12.4'
|
|
27
27
|
|
|
28
28
|
EPOK Toolkit es una librería de utilidades para proyectos Django y Python, diseñada para facilitar tareas comunes como envío de emails, mensajería WhatsApp, generación de PDFs y manejo avanzado de caché en APIs.
|
|
29
29
|
|
|
@@ -7,7 +7,7 @@ epok_toolkit/django/fields.py,sha256=-ajP5qx-4bt9Qz9yW48gTlinTxD1xWPKOEkslqx8cSM
|
|
|
7
7
|
epok_toolkit/django/manager.py,sha256=3MZcA9wQY4E1KD8XlgZQbzf4wlF9vA8Pntl_gKDWfpA,1350
|
|
8
8
|
epok_toolkit/django/models.py,sha256=E1zj2KetRGszksQvLk3HN5kWkYkEYzJRRmAUOaLJmw8,1090
|
|
9
9
|
epok_toolkit/django/response.py,sha256=O8OHBaKgUQjBeYLLbgTTs669l_4D6swUgAOwswjc-88,1716
|
|
10
|
-
epok_toolkit/django/viewsets.py,sha256=
|
|
10
|
+
epok_toolkit/django/viewsets.py,sha256=3WCnSZ8H85cFRoD_87Aa3WzMz89VleqixU69TtLtJmA,3532
|
|
11
11
|
epok_toolkit/django/utils/__init__.py,sha256=zDuoqm_eksZQpL-Bvd_q2KGMtSXfprBjf4TScZiwV6k,25
|
|
12
12
|
epok_toolkit/django/utils/magic_link.py,sha256=GiDuy0kAGdYohGPlBL7rwpKPMpXuB1wJa1k5LTAOm4w,889
|
|
13
13
|
epok_toolkit/email/__init__.py,sha256=pyJwysyVoq6DuYAG72fulsKFoOuAfjw3aBH7FhmYGHc,35
|
|
@@ -25,8 +25,8 @@ epok_toolkit/pdf/fuentes/Kollektif-Italic.ttf,sha256=1CXPyw43il9u0tQ_7aRzsEaVtg3
|
|
|
25
25
|
epok_toolkit/pdf/fuentes/Kollektif.ttf,sha256=7wTLkVVNUm1giLjIZcWRUH5r2r3o0GjdKic4V1A-pNQ,51128
|
|
26
26
|
epok_toolkit/pdf/plantillas/Ticket_congrats.png,sha256=OSQhVR0j_nLHE6kSJ33BTR-77HM1fNAfJBe2EuX6wVk,157141
|
|
27
27
|
epok_toolkit/pdf/plantillas/Ticket_congrats2.png,sha256=1RBogBdo-8WSMpD3H73HoLgJtr5EC5oVKfOCIWOxPSo,373605
|
|
28
|
-
epok_toolkit-1.12.
|
|
29
|
-
epok_toolkit-1.12.
|
|
30
|
-
epok_toolkit-1.12.
|
|
31
|
-
epok_toolkit-1.12.
|
|
32
|
-
epok_toolkit-1.12.
|
|
28
|
+
epok_toolkit-1.12.4.dist-info/licenses/LICENSE,sha256=iLDbGXdLSIOT5OsxzHCvtmxHtonE21GiFlS3LNkug4A,128
|
|
29
|
+
epok_toolkit-1.12.4.dist-info/METADATA,sha256=6jiEAbgEqX6otfW2wBDIyTXK90fVkfTrTSsu52NNpTs,2217
|
|
30
|
+
epok_toolkit-1.12.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
31
|
+
epok_toolkit-1.12.4.dist-info/top_level.txt,sha256=Wo72AqIFcfWwBGM5F5iGFw9PrO3WBnTSprFZIJk_pNg,13
|
|
32
|
+
epok_toolkit-1.12.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|