terminado

This commit is contained in:
Jaime Jiménez
2025-09-21 14:16:00 +02:00
parent b5275f89f7
commit 42fa347829
14 changed files with 177 additions and 44 deletions

View File

@ -0,0 +1,20 @@
package com.imprimelibros.erp.common;
import jakarta.persistence.AttributeConverter;
import jakarta.persistence.Converter;
import org.jsoup.Jsoup;
import org.jsoup.safety.Safelist;
@Converter(autoApply = false)
public class HtmlStripConverter implements AttributeConverter<String, String> {
@Override
public String convertToDatabaseColumn(String attribute) {
return attribute == null ? null : Jsoup.clean(attribute, Safelist.none());
}
@Override
public String convertToEntityAttribute(String dbData) {
return dbData; // tal cual
}
}

View File

@ -8,6 +8,8 @@ import com.imprimelibros.erp.presupuesto.validation.Par;
import com.imprimelibros.erp.presupuesto.validation.PresupuestoValidationGroups;
import com.imprimelibros.erp.presupuesto.validation.Tamanio;
import com.imprimelibros.erp.common.HtmlStripConverter;
import jakarta.persistence.*;
@ConsistentTiradas(groups = PresupuestoValidationGroups.DatosGenerales.class)
@ -45,13 +47,16 @@ public class Presupuesto implements Cloneable{
@Column(name = "tipo_encuadernacion")
private TipoEncuadernacion tipoEncuadernacion = TipoEncuadernacion.fresado;
@Convert(converter = HtmlStripConverter.class)
@NotBlank(message = "{presupuesto.errores.titulo}", groups = PresupuestoValidationGroups.DatosGenerales.class)
@Column(name = "titulo")
private String titulo;
@Convert(converter = HtmlStripConverter.class)
@Column(name = "autor")
private String autor;
@Convert(converter = HtmlStripConverter.class)
@Column(name = "isbn")
private String isbn;