Showing
3 changed files
with
14 additions
and
6 deletions
1 | from django.db import models | 1 | from django.db import models |
2 | 2 | ||
3 | - | ||
4 | -from .utils import valid_extension | ||
5 | from .constants import STATUS_CHOICE | 3 | from .constants import STATUS_CHOICE |
6 | 4 | ||
7 | from usuario.models import Usuario | 5 | from usuario.models import Usuario |
8 | 6 | ||
9 | - | ||
10 | # Create your models here. | 7 | # Create your models here. |
11 | 8 | ||
12 | 9 | ||
@@ -29,7 +26,7 @@ class Precio (models.Model): | @@ -29,7 +26,7 @@ class Precio (models.Model): | ||
29 | class Edicto(models.Model): | 26 | class Edicto(models.Model): |
30 | usuario = models.ForeignKey(Usuario, on_delete=models.CASCADE, verbose_name='Usuario', null=True) | 27 | usuario = models.ForeignKey(Usuario, on_delete=models.CASCADE, verbose_name='Usuario', null=True) |
31 | cuerpo_edicto = models.TextField(blank=False, null=False) | 28 | cuerpo_edicto = models.TextField(blank=False, null=False) |
32 | - archivo = models.FileField(upload_to="uploads/%Y/%m/%d/", null=False, blank=False, validators=[valid_extension]) | 29 | + archivo = models.FileField(upload_to="uploads/%Y/%m/%d/", null=False, blank=False) |
33 | dias_publicar = models.PositiveIntegerField(blank=False, null=False) | 30 | dias_publicar = models.PositiveIntegerField(blank=False, null=False) |
34 | cantidad_sellos = models.PositiveIntegerField(blank=False, null=False) | 31 | cantidad_sellos = models.PositiveIntegerField(blank=False, null=False) |
35 | estado = models.CharField(max_length=150, choices=STATUS_CHOICE, default='inciado') | 32 | estado = models.CharField(max_length=150, choices=STATUS_CHOICE, default='inciado') |
1 | from rest_framework import serializers | 1 | from rest_framework import serializers |
2 | - | 2 | +from .constants import EXTENSIONES_VALIDAS |
3 | 3 | ||
4 | from .models import Edicto | 4 | from .models import Edicto |
5 | 5 | ||
@@ -10,7 +10,9 @@ class EdictoSerializer(serializers.ModelSerializer): | @@ -10,7 +10,9 @@ class EdictoSerializer(serializers.ModelSerializer): | ||
10 | 10 | ||
11 | class Meta: | 11 | class Meta: |
12 | model = Edicto | 12 | model = Edicto |
13 | - fields = ('cuerpo_edicto', | 13 | + fields = ('usuario', |
14 | + 'cuerpo_edicto', | ||
15 | + 'estado', | ||
14 | 'cantidad_palabras', | 16 | 'cantidad_palabras', |
15 | 'dias_publicar', | 17 | 'dias_publicar', |
16 | 'cantidad_sellos', | 18 | 'cantidad_sellos', |
@@ -18,3 +20,10 @@ class EdictoSerializer(serializers.ModelSerializer): | @@ -18,3 +20,10 @@ class EdictoSerializer(serializers.ModelSerializer): | ||
18 | 'fecha_publicacion', | 20 | 'fecha_publicacion', |
19 | 'archivo', | 21 | 'archivo', |
20 | 'fecha_creacion',) | 22 | 'fecha_creacion',) |
23 | + | ||
24 | + @staticmethod | ||
25 | + def validate_archivo(value): | ||
26 | + filename, extension = value.name.rsplit(".", 1) | ||
27 | + if extension.lower() not in EXTENSIONES_VALIDAS: | ||
28 | + raise serializers.ValidationError("Archivos permitidos: .pdf, .docx, .jpg, .jpeg, .png") | ||
29 | + return value |
-
Please register or login to post a comment