diff --git a/as-talange-core/src/main/java/com/astalange/core/entity/Paiement.java b/as-talange-core/src/main/java/com/astalange/core/entity/Paiement.java index 7ad019e..149d59d 100644 --- a/as-talange-core/src/main/java/com/astalange/core/entity/Paiement.java +++ b/as-talange-core/src/main/java/com/astalange/core/entity/Paiement.java @@ -26,6 +26,9 @@ public class Paiement { @JoinColumn(name = "mode_paiement_id", nullable = false) private ModePaiement modePaiement; + @Column(name = "gestionnaire") + private String gestionnaire; + // Getters and Setters public Long getId() { return id; } @@ -42,4 +45,7 @@ public class Paiement { public ModePaiement getModePaiement() { return modePaiement; } public void setModePaiement(ModePaiement modePaiement) { this.modePaiement = modePaiement; } + + public String getGestionnaire() { return gestionnaire; } + public void setGestionnaire(String gestionnaire) { this.gestionnaire = gestionnaire; } } diff --git a/as-talange-core/src/main/resources/db/migration/V23__add_gestionnaire_to_paiement.sql b/as-talange-core/src/main/resources/db/migration/V23__add_gestionnaire_to_paiement.sql new file mode 100644 index 0000000..5f8f2b7 --- /dev/null +++ b/as-talange-core/src/main/resources/db/migration/V23__add_gestionnaire_to_paiement.sql @@ -0,0 +1 @@ +ALTER TABLE paiement ADD COLUMN gestionnaire VARCHAR(255); diff --git a/as-talange-web/src/main/java/com/astalange/web/controller/PaiementController.java b/as-talange-web/src/main/java/com/astalange/web/controller/PaiementController.java index aecb71e..4b5981c 100644 --- a/as-talange-web/src/main/java/com/astalange/web/controller/PaiementController.java +++ b/as-talange-web/src/main/java/com/astalange/web/controller/PaiementController.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.security.Principal; import java.math.BigDecimal; import java.time.LocalDate; @@ -34,7 +35,8 @@ public class PaiementController { @RequestParam Long adherentId, @RequestParam BigDecimal montant, @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate datePaiement, - @RequestParam Long modePaiementId) { + @RequestParam Long modePaiementId, + Principal principal) { Licence licence = licenceRepository.findById(id) .orElseThrow(() -> new IllegalArgumentException("Invalid Licence ID")); @@ -52,6 +54,9 @@ public class PaiementController { paiement.setModePaiement(mode); paiement.setMontant(montant); paiement.setDatePaiement(datePaiement); + if (principal != null) { + paiement.setGestionnaire(principal.getName()); + } paiementRepository.save(paiement); } @@ -64,7 +69,8 @@ public class PaiementController { @RequestParam BigDecimal montant, @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate datePaiement, @RequestParam Long modePaiementId, - @RequestParam(required = false) String redirect) { + @RequestParam(required = false) String redirect, + Principal principal) { Paiement paiement = paiementRepository.findById(id) .orElseThrow(() -> new IllegalArgumentException("Invalid Paiement ID")); @@ -84,6 +90,9 @@ public class PaiementController { paiement.setModePaiement(mode); paiement.setMontant(montant); paiement.setDatePaiement(datePaiement); + if (principal != null) { + paiement.setGestionnaire(principal.getName()); + } paiementRepository.save(paiement); } diff --git a/as-talange-web/src/main/resources/templates/adherents/form.html b/as-talange-web/src/main/resources/templates/adherents/form.html index d951954..12262d3 100644 --- a/as-talange-web/src/main/resources/templates/adherents/form.html +++ b/as-talange-web/src/main/resources/templates/adherents/form.html @@ -228,6 +228,7 @@ Date Mode + Géré par Montant Actions @@ -238,6 +239,7 @@ Chèque + - 50.00 €