Martín Miranda

Merge branch 'fix/edicto_campo_usuario' into 'develop'

Fix/edicto campo usuario



See merge request !45
... ... @@ -24,24 +24,32 @@ class EdictoViewSet(mixins.CreateModelMixin,
filterset_class = EdictoFilter
queryset = Edicto.objects.all()
ordering_fields = ('fecha_creacion', 'id')
ordering = ('fecha_publicacion', 'id',)
ordering = ('fecha_publicacion',)
lookup_field = 'uuid'
def perform_create(self, serializer):
edicto = self.request.data.get('cuerpo_edicto')
cantidad_palabras = contador(edicto)
usuario = self.request.user
serializer.save(cantidad_palabras=cantidad_palabras, usuario=usuario)
serializer.save(cantidad_palabras=cantidad_palabras,
usuario=usuario,
usuario_movimiento=usuario,
)
@action(detail=True, methods=['put', 'patch'])
@action(detail=True, methods=['put'])
def custom_update(self, request):
edicto = request.data.get('cuerpo_edicto')
cantidad_palabras = contador(edicto)
instance = self.get_object()
serializer = self.get_serializer(instance, data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save(cantidad_palabras=cantidad_palabras, fecha_actualizacion=datetime.now())
edicto = request.data.get('cuerpo_edicto')
cantidad_palabras = contador(edicto)
usuario = self.request.user
serializer.save(cantidad_palabras=cantidad_palabras,
fecha_actualizacion=datetime.now(),
usuario_movimiento=usuario,
)
return Response(serializer.data, status=status.HTTP_200_OK)
... ...
# Generated by Django 4.1.9 on 2023-09-12 21:23
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('edicto', '0013_alter_edicto_estado'),
]
operations = [
migrations.AddField(
model_name='edicto',
name='usuario_movimiento',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='udate_edicto', to=settings.AUTH_USER_MODEL),
),
]
... ...
# Generated by Django 4.1.9 on 2023-09-12 21:24
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
def migrar_edicto_usuario_movi(apps, schema):
Edictos = apps.get_model('edicto', 'Edicto')
user_move = 1
for edicto in Edictos.objects.all():
edicto.usuario_movimiento = user_move
edicto.save()
user_move = user_move+1
class Migration(migrations.Migration):
dependencies = [
('edicto', '0014_edicto_usuario_movimiento'),
]
operations = [
migrations.RunPython(migrar_edicto_usuario_movi, reverse_code=migrations.RunPython.noop),
migrations.AlterField(
model_name='edicto',
name='usuario_movimiento',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='udate_edicto', to=settings.AUTH_USER_MODEL)
),
]
... ...
... ... @@ -38,6 +38,7 @@ class Edicto(models.Model):
observaciones = models.CharField(max_length=500, blank=True, null=True)
fecha_creacion = models.DateField(auto_now_add=True)
fecha_modificacion = models.DateTimeField(auto_now_add=True)
usuario_movimiento = models.ForeignKey(Usuario, on_delete=models.CASCADE, related_name='udate_edicto')
class Meta:
verbose_name = 'Edicto'
... ...
... ... @@ -10,12 +10,14 @@ from usuario.serializers import UsuarioListaSerializer
class EdictoSerializer(serializers.ModelSerializer):
included_serializers = {
'usuario': UsuarioListaSerializer,
'usuario_movimiento': UsuarioListaSerializer,
}
class Meta:
model = Edicto
fields = ('uuid',
'usuario',
'usuario_movimiento',
'estado',
'cuerpo_edicto',
'cantidad_palabras',
... ... @@ -29,7 +31,10 @@ class EdictoSerializer(serializers.ModelSerializer):
)
read_only_fields = ('usuario', 'fecha_publicacion', 'cantidad_palabras', 'fecha_creacion')
read_only_fields = ('usuario', 'usuario_movimiento',
'fecha_publicacion', 'cantidad_palabras',
'fecha_creacion',
)
def to_representation(self, instance):
data = super().to_representation(instance)
... ...