Enzo Yair

eliminacion de metodos en api

@@ -8,7 +8,6 @@ from .models import Edicto, Precio @@ -8,7 +8,6 @@ from .models import Edicto, Precio
8 from .serializer import EdictoSerializer, PrecioSerializer 8 from .serializer import EdictoSerializer, PrecioSerializer
9 from .filters import EdictoFilter, PrecioFilter 9 from .filters import EdictoFilter, PrecioFilter
10 from .permissions import IsAdminOrAuthorized 10 from .permissions import IsAdminOrAuthorized
11 -from .utils import contador  
12 11
13 12
14 class EdictoViewSet(mixins.CreateModelMixin, 13 class EdictoViewSet(mixins.CreateModelMixin,
@@ -26,30 +25,6 @@ class EdictoViewSet(mixins.CreateModelMixin, @@ -26,30 +25,6 @@ class EdictoViewSet(mixins.CreateModelMixin,
26 ordering = ('fecha_publicacion',) 25 ordering = ('fecha_publicacion',)
27 lookup_field = 'uuid' 26 lookup_field = 'uuid'
28 27
29 - def perform_create(self, serializer):  
30 - edicto = self.request.data.get('cuerpo_edicto')  
31 - cantidad_palabras = contador(edicto)  
32 - usuario = self.request.user  
33 - serializer.save(cantidad_palabras=cantidad_palabras,  
34 - usuario=usuario,  
35 - usuario_movimiento=usuario,  
36 - )  
37 -  
38 - def partial_update(self, request, *args, **kwargs):  
39 - instance = self.get_object()  
40 - serializer = self.get_serializer(instance, data=request.data, partial=True)  
41 - serializer.is_valid(raise_exception=True)  
42 -  
43 - edicto = request.data.get('cuerpo_edicto')  
44 - cantidad_palabras = contador(edicto)  
45 - usuario = self.request.user  
46 -  
47 - serializer.save(cantidad_palabras=cantidad_palabras,  
48 - usuario_movimiento=usuario,  
49 - )  
50 -  
51 - return Response(serializer.data, status=status.HTTP_200_OK)  
52 -  
53 28
54 class PrecioViewSet(viewsets.ReadOnlyModelViewSet): 29 class PrecioViewSet(viewsets.ReadOnlyModelViewSet):
55 serializer_class = PrecioSerializer 30 serializer_class = PrecioSerializer
@@ -5,6 +5,7 @@ from .constants import EXTENSIONES_VALIDAS @@ -5,6 +5,7 @@ from .constants import EXTENSIONES_VALIDAS
5 5
6 from .models import Edicto, Precio 6 from .models import Edicto, Precio
7 from usuario.serializers import UsuarioListaSerializer 7 from usuario.serializers import UsuarioListaSerializer
  8 +from .utils import contador
8 9
9 10
10 class EdictoSerializer(serializers.ModelSerializer): 11 class EdictoSerializer(serializers.ModelSerializer):
@@ -30,10 +31,6 @@ class EdictoSerializer(serializers.ModelSerializer): @@ -30,10 +31,6 @@ class EdictoSerializer(serializers.ModelSerializer):
30 'fecha_modificacion' 31 'fecha_modificacion'
31 32
32 ) 33 )
33 - extra_kwargs = {  
34 - 'archivo': {'read_only': True},  
35 - 'cantidad_palabras': {'read_only': True}  
36 - }  
37 34
38 read_only_fields = ('usuario', 'usuario_movimiento', 35 read_only_fields = ('usuario', 'usuario_movimiento',
39 'fecha_publicacion', 'cantidad_palabras', 36 'fecha_publicacion', 'cantidad_palabras',
@@ -41,6 +38,14 @@ class EdictoSerializer(serializers.ModelSerializer): @@ -41,6 +38,14 @@ class EdictoSerializer(serializers.ModelSerializer):
41 'fecha_modificacion', 38 'fecha_modificacion',
42 ) 39 )
43 40
  41 + def validate(self, data):
  42 + edicto = data.get('cuerpo_edicto', '')
  43 + cantidad_palabras = contador(edicto)
  44 + data['cantidad_palabras'] = cantidad_palabras
  45 + data['usuario'] = self.context['request'].user
  46 + data['usuario_movimiento'] = self.context['request'].user
  47 + return data
  48 +
44 @staticmethod 49 @staticmethod
45 def validate_archivo(value): 50 def validate_archivo(value):
46 filename, extension = value.name.rsplit(".", 1) 51 filename, extension = value.name.rsplit(".", 1)