rajah 1 gadu atpakaļ
vecāks
revīzija
1e852633b4

+ 1 - 1
src/main/java/fr/triplea/demovote/persistence/dao/ProductionRepository.java

@@ -16,7 +16,7 @@ public interface ProductionRepository extends JpaRepository<Production, Integer>
   @NativeQuery("SELECT DISTINCT p.* FROM vote.productions AS p WHERE p.numero_production = :id AND p.flag_actif IS TRUE ")
   Production findById(@Param("id") int id);
   
-  @NativeQuery("SELECT DISTINCT p.numero_production, p.titre, p.auteurs, p.groupes, p.plateforme, p.commentaire, p.informations_privees, p.numero_participant, p.nom_archive, p.vignette, p.numero_version FROM vote.productions AS p WHERE p.flag_actif IS TRUE ORDER BY p.titre ASC ")
+  @NativeQuery("SELECT DISTINCT TO_CHAR(p.date_creation, 'DD/MM/YYYY HH24:MI:SS') as date_creation, TO_CHAR(p.date_modification, 'DD/MM/YYYY HH24:MI:SS') as date_modification, p.numero_production, CAST(p.adresse_ip AS VARCHAR) AS adresse_ip, p.type, p.titre, p.auteurs, p.groupes, p.plateforme, p.commentaire, p.informations_privees, p.numero_participant, CONCAT(g.pseudonyme, ' = ', g.nom, ' ', g.prenom) AS nom_gestionnaire, p.nom_archive, p.vignette, p.numero_version FROM vote.productions AS p INNER JOIN vote.participants AS g ON p.numero_participant = g.numero_participant WHERE p.flag_actif IS TRUE ORDER BY p.titre ASC ")
   List<ProductionShort> findAllEnabled();
   
   @NativeQuery("SELECT DISTINCT p.date_creation, p.date_modification, p.numero_production, p.adresse_ip, p.type, p.titre, p.auteurs, p.groupes, p.plateforme, p.commentaire, p.informations_privees, p.numero_participant, p.nom_archive, p.vignette, p.numero_version FROM vote.productions AS p WHERE p.numero_participant = :participant AND p.flag_actif IS TRUE ")

+ 20 - 8
src/main/java/fr/triplea/demovote/persistence/dto/ProductionShort.java

@@ -1,21 +1,23 @@
 package fr.triplea.demovote.persistence.dto;
 
-import java.time.LocalDateTime;
-
 import fr.triplea.demovote.persistence.model.Production;
+import fr.triplea.demovote.persistence.model.ProductionType;
 
 public record ProductionShort
 (
-  //LocalDateTime dateCreation,
-  //LocalDateTime dateModification,
+  String dateCreation,
+  String dateModification,
   Integer numeroProduction,
+  String adresseIP,
+  String type,
   String titre,
   String auteurs,
   String groupes,
   String plateforme,
   String commentaire,
   String informationsPrivees,
-  Integer numeroParticipant,
+  Integer numeroGestionnaire,
+  String nomGestionnaire,
   String nomArchive,
   byte[] vignette,
   Integer numeroVersion
@@ -25,16 +27,26 @@ public record ProductionShort
   {
     Production p = new Production();
     
-    //p.setDateCreation(dateCreation);
-    //p.setDateModification(dateModification);
+    p.setDateCreation(dateCreation);
+    p.setDateModification(dateModification);
     p.setNumeroProduction(numeroProduction);
-    p.setAdresseIP(null);
+    p.setAdresseIP(adresseIP);
+
+    if(type.equals("EXECUTABLE")) { p.setType(ProductionType.EXECUTABLE); }
+    else if(type.equals("GRAPHE")) { p.setType(ProductionType.GRAPHE); }
+    else if(type.equals("MUSIQUE")) { p.setType(ProductionType.MUSIQUE); }
+    else if(type.equals("VIDEO")) { p.setType(ProductionType.VIDEO); }
+    else if(type.equals("TOPIC")) { p.setType(ProductionType.TOPIC); }
+    else { p.setType(ProductionType.AUTRE); }
+    
     p.setTitre(titre);
     p.setAuteurs(auteurs);
     p.setGroupes(groupes);
     p.setPlateforme(plateforme);
     p.setCommentaire(commentaire);
     p.setInformationsPrivees(informationsPrivees);
+    p.setNumeroGestionnaire(numeroGestionnaire);
+    p.setNomGestionnaire(nomGestionnaire);
     p.setNomArchive(nomArchive);
     p.setVignette(vignette);
     p.setNumeroVersion(numeroVersion);

+ 9 - 0
src/main/java/fr/triplea/demovote/persistence/model/Categorie.java

@@ -1,7 +1,9 @@
 package fr.triplea.demovote.persistence.model;
 
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
+import java.util.Locale;
 
 import org.hibernate.annotations.CreationTimestamp;
 import org.hibernate.annotations.UpdateTimestamp;
@@ -78,8 +80,15 @@ public class Categorie
   public Categorie() { super(); }
 
   
+  @Transient
+  DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss", Locale.FRANCE);
+  
+  public void setDateCreation(LocalDateTime d) { this.dateCreation = d; }
+  public void setDateCreation(String s) { this.dateCreation = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateCreation() { return this.dateCreation; }
   
+  public void setDateModification(LocalDateTime d) { this.dateModification = d; }
+  public void setDateModification(String s) { this.dateModification = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateModification() { return this.dateModification; }
   
   public void setNumeroCategorie(Integer numeroCategorie) { this.numeroCategorie = numeroCategorie; }

+ 8 - 0
src/main/java/fr/triplea/demovote/persistence/model/Message.java

@@ -1,6 +1,8 @@
 package fr.triplea.demovote.persistence.model;
 
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Locale;
 
 import org.hibernate.annotations.CreationTimestamp;
 import org.springframework.util.StringUtils;
@@ -18,6 +20,7 @@ import jakarta.persistence.ManyToOne;
 import jakarta.persistence.Table;
 import jakarta.persistence.Temporal;
 import jakarta.persistence.TemporalType;
+import jakarta.persistence.Transient;
 
 @Entity(name = "vote.messages")
 @Table(name = "messages")
@@ -49,6 +52,11 @@ public class Message
   public Message() { super(); }
 
   
+  @Transient
+  DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss", Locale.FRANCE);
+  
+  public void setDateCreation(LocalDateTime d) { this.dateCreation = d; }
+  public void setDateCreation(String s) { this.dateCreation = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateCreation() { return this.dateCreation; }
   
   public void setNumeroMessage(Integer numeroMessage) { this.numeroMessage = numeroMessage; }

+ 9 - 3
src/main/java/fr/triplea/demovote/persistence/model/Participant.java

@@ -2,8 +2,10 @@ package fr.triplea.demovote.persistence.model;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Locale;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -16,7 +18,6 @@ import com.google.common.collect.Sets;
 
 import jakarta.persistence.CascadeType;
 import jakarta.persistence.Column;
-import jakarta.persistence.Convert;
 import jakarta.persistence.Entity;
 import jakarta.persistence.EnumType;
 import jakarta.persistence.Enumerated;
@@ -104,7 +105,6 @@ public class Participant
   private String email;
 
   @Enumerated(EnumType.STRING) 
-  @Convert(converter = ParticipantStatusConverter.class)
   private ParticipantStatus status;
 
   @Column(name = "flag_machine")
@@ -128,7 +128,6 @@ public class Participant
   private Boolean useAmigabus = false;
 
   @Enumerated(EnumType.STRING) 
-  @Convert(converter = ParticipantModePaiementConverter.class)
   private ParticipantModePaiement modePaiement;
   
   @Temporal(TemporalType.TIMESTAMP)
@@ -160,8 +159,15 @@ public class Participant
   public Participant() { super(); }
 
   
+  @Transient
+  DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss", Locale.FRANCE);
+  
+  public void setDateCreation(LocalDateTime d) { this.dateCreation = d; }
+  public void setDateCreation(String s) { this.dateCreation = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateCreation() { return this.dateCreation; }
   
+  public void setDateModification(LocalDateTime d) { this.dateModification = d; }
+  public void setDateModification(String s) { this.dateModification = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateModification() { return this.dateModification; }
   
   public List<Role> getRoles() { return roles; }

+ 0 - 14
src/main/java/fr/triplea/demovote/persistence/model/ParticipantModePaiementConverter.java

@@ -1,14 +0,0 @@
-package fr.triplea.demovote.persistence.model;
-
-import jakarta.persistence.AttributeConverter;
-import jakarta.persistence.Converter;
-
-@Converter(autoApply = true)
-public class ParticipantModePaiementConverter implements AttributeConverter<ParticipantModePaiement, String> 
-{
-  @Override
-  public String convertToDatabaseColumn(ParticipantModePaiement val) { return val != null ? val.getMode() : null; }
-
-  @Override
-  public ParticipantModePaiement convertToEntityAttribute(String str) { return str != null ? ParticipantModePaiement.getByMode(str) : null; }
-}

+ 0 - 14
src/main/java/fr/triplea/demovote/persistence/model/ParticipantStatusConverter.java

@@ -1,14 +0,0 @@
-package fr.triplea.demovote.persistence.model;
-
-import jakarta.persistence.AttributeConverter;
-import jakarta.persistence.Converter;
-
-@Converter(autoApply = true)
-public class ParticipantStatusConverter implements AttributeConverter<ParticipantStatus, String> 
-{
-  @Override
-  public String convertToDatabaseColumn(ParticipantStatus val) { return val != null ? val.getStatus() : null; }
-
-  @Override
-  public ParticipantStatus convertToEntityAttribute(String str) { return str != null ? ParticipantStatus.getByStatus(str) : null; }
-}

+ 11 - 1
src/main/java/fr/triplea/demovote/persistence/model/Preference.java

@@ -1,6 +1,8 @@
 package fr.triplea.demovote.persistence.model;
 
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Locale;
 
 import org.hibernate.annotations.CreationTimestamp;
 import org.hibernate.annotations.UpdateTimestamp;
@@ -18,6 +20,7 @@ import jakarta.persistence.ManyToOne;
 import jakarta.persistence.Table;
 import jakarta.persistence.Temporal;
 import jakarta.persistence.TemporalType;
+import jakarta.persistence.Transient;
 
 @Entity(name = "vote.preferences")
 @Table(name = "preferences")
@@ -52,8 +55,15 @@ public class Preference
   public Preference() { super(); }
   
   
+  @Transient
+  DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss", Locale.FRANCE);
+  
+  public void setDateCreation(LocalDateTime d) { this.dateCreation = d; }
+  public void setDateCreation(String s) { this.dateCreation = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateCreation() { return this.dateCreation; }
-
+  
+  public void setDateModification(LocalDateTime d) { this.dateModification = d; }
+  public void setDateModification(String s) { this.dateModification = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateModification() { return this.dateModification; }
   
   public void setNumeroPreference(Integer numeroPreference) { this.numeroPreference = numeroPreference; }

+ 10 - 0
src/main/java/fr/triplea/demovote/persistence/model/Privilege.java

@@ -1,7 +1,9 @@
 package fr.triplea.demovote.persistence.model;
 
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
+import java.util.Locale;
 
 import org.hibernate.annotations.CreationTimestamp;
 import org.hibernate.annotations.UpdateTimestamp;
@@ -18,6 +20,7 @@ import jakarta.persistence.ManyToMany;
 import jakarta.persistence.Table;
 import jakarta.persistence.Temporal;
 import jakarta.persistence.TemporalType;
+import jakarta.persistence.Transient;
 
 @Entity(name = "vote.privileges")
 @Table(name = "privileges")
@@ -49,8 +52,15 @@ public class Privilege
   public Privilege() { super(); }
 
   
+  @Transient
+  DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss", Locale.FRANCE);
+  
+  public void setDateCreation(LocalDateTime d) { this.dateCreation = d; }
+  public void setDateCreation(String s) { this.dateCreation = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateCreation() { return this.dateCreation; }
   
+  public void setDateModification(LocalDateTime d) { this.dateModification = d; }
+  public void setDateModification(String s) { this.dateModification = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateModification() { return this.dateModification; }
   
   public void setNumeroPrivilege(Integer numeroPrivilege) { this.numeroPrivilege = numeroPrivilege; }

+ 24 - 3
src/main/java/fr/triplea/demovote/persistence/model/Production.java

@@ -5,8 +5,10 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.sql.Types;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Base64;
 import java.util.List;
+import java.util.Locale;
 
 import javax.imageio.ImageIO;
 import net.coobird.thumbnailator.Thumbnails;
@@ -24,7 +26,6 @@ import io.hypersistence.utils.hibernate.type.basic.Inet;
 import io.hypersistence.utils.hibernate.type.basic.PostgreSQLInetType;
 import jakarta.persistence.CascadeType;
 import jakarta.persistence.Column;
-import jakarta.persistence.Convert;
 import jakarta.persistence.Entity;
 import jakarta.persistence.EnumType;
 import jakarta.persistence.Enumerated;
@@ -67,13 +68,17 @@ public class Production
   @ManyToOne
   @JoinColumn(name="numero_participant", referencedColumnName="numero_participant")
   private Participant participant;
+  
+  @Transient
+  private Integer numeroGestionnaire;
+  @Transient
+  private String nomGestionnaire;
 
   @Type(PostgreSQLInetType.class)
   @Column(name = "adresse_ip", columnDefinition = "inet")
   private Inet adresseIP;
  
   @Enumerated(EnumType.STRING) 
-  @Convert(converter = ProductionTypeConverter.class)
   private ProductionType type;
   
   @Column(length = 256, nullable = false)
@@ -143,11 +148,16 @@ public class Production
   
   public Production() { super(); }
 
+
+  @Transient
+  DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss", Locale.FRANCE);
   
   public void setDateCreation(LocalDateTime d) { this.dateCreation = d; }
+  public void setDateCreation(String s) { this.dateCreation = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateCreation() { return this.dateCreation; }
   
   public void setDateModification(LocalDateTime d) { this.dateModification = d; }
+  public void setDateModification(String s) { this.dateModification = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateModification() { return this.dateModification; }
   
   public void setNumeroProduction(Integer numeroProduction) { this.numeroProduction = numeroProduction; }
@@ -161,8 +171,19 @@ public class Production
   public void setParticipant(Participant p) { this.participant = p; }
   public Participant getParticipant() { return this.participant; }
   
+  @Transient
+  public void setNumeroGestionnaire(Integer num) { if (num != null) { this.numeroGestionnaire = num; } }
+  @Transient
+  public Integer getNumeroGestionnaire() { return this.numeroGestionnaire; }
+  
+  @Transient
+  public void setNomGestionnaire(String str) { if (str != null) { this.nomGestionnaire = new String(str); } }
+  @Transient
+  public String getNomGestionnaire() { return this.nomGestionnaire; }
+
   public void setAdresseIP(Inet ip) { this.adresseIP = ip; }
-  public Inet getAdresseIP() { return this.adresseIP; }
+  public void setAdresseIP(String ip) { this.adresseIP = new Inet(ip); }
+  public String getAdresseIP() { return this.adresseIP.getAddress(); }
   
   public void setType(ProductionType enu) { this.type = enu; }
   public ProductionType getType() { return this.type; }

+ 0 - 14
src/main/java/fr/triplea/demovote/persistence/model/ProductionTypeConverter.java

@@ -1,14 +0,0 @@
-package fr.triplea.demovote.persistence.model;
-
-import jakarta.persistence.AttributeConverter;
-import jakarta.persistence.Converter;
-
-@Converter(autoApply = true)
-public class ProductionTypeConverter implements AttributeConverter<ProductionType, String> 
-{
-  @Override
-  public String convertToDatabaseColumn(ProductionType val) { return val != null ? val.getType() : null; }
-
-  @Override
-  public ProductionType convertToEntityAttribute(String str) { return str != null ? ProductionType.getByType(str) : null; }
-}

+ 9 - 0
src/main/java/fr/triplea/demovote/persistence/model/Role.java

@@ -1,7 +1,9 @@
 package fr.triplea.demovote.persistence.model;
 
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
+import java.util.Locale;
 
 import org.hibernate.annotations.CreationTimestamp;
 import org.hibernate.annotations.UpdateTimestamp;
@@ -61,8 +63,15 @@ public class Role
   public Role() { super(); }
 
   
+  @Transient
+  DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss", Locale.FRANCE);
+  
+  public void setDateCreation(LocalDateTime d) { this.dateCreation = d; }
+  public void setDateCreation(String s) { this.dateCreation = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateCreation() { return this.dateCreation; }
   
+  public void setDateModification(LocalDateTime d) { this.dateModification = d; }
+  public void setDateModification(String s) { this.dateModification = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateModification() { return this.dateModification; }
   
   public void setNumeroRole(Integer numeroRole) { this.numeroRole = numeroRole; }

+ 10 - 0
src/main/java/fr/triplea/demovote/persistence/model/Variable.java

@@ -1,6 +1,8 @@
 package fr.triplea.demovote.persistence.model;
 
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Locale;
 
 import org.hibernate.annotations.CreationTimestamp;
 import org.hibernate.annotations.UpdateTimestamp;
@@ -16,6 +18,7 @@ import jakarta.persistence.Id;
 import jakarta.persistence.Table;
 import jakarta.persistence.Temporal;
 import jakarta.persistence.TemporalType;
+import jakarta.persistence.Transient;
 
 @Entity(name = "vote.variables")
 @Table(name = "variables")
@@ -53,8 +56,15 @@ public class Variable
   public Variable() { super(); }
 
   
+  @Transient
+  DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss", Locale.FRANCE);
+  
+  public void setDateCreation(LocalDateTime d) { this.dateCreation = d; }
+  public void setDateCreation(String s) { this.dateCreation = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateCreation() { return this.dateCreation; }
   
+  public void setDateModification(LocalDateTime d) { this.dateModification = d; }
+  public void setDateModification(String s) { this.dateModification = LocalDateTime.parse(s, df); }
   public LocalDateTime getDateModification() { return this.dateModification; }
   
   public void setNumeroVariable(Integer numeroVariable) { this.numeroVariable = numeroVariable; }