Skip to content
Commits on Source (8)
......@@ -31,6 +31,14 @@
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
<version>2.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/jakarta.servlet.jsp.jstl/jakarta.servlet.jsp.jstl-api -->
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
<build>
......@@ -51,4 +59,6 @@
</plugin>
</plugins>
</build>
</project>
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Other/File.java to edit this template
*/
package controllers;
import dao.CollaborateurDao;
import entities.Collaborateur;
import forms.CreerCollaborateurFormChecker;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author cberge
*/
@WebServlet("/creer_collaborateur")
@SuppressWarnings("serial")
public class CreerCollaborateur extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getRequestDispatcher ("/WEB-INF/jsp/creerCollaborateur.jsp"). forward(req, resp);
}
@Override
protected void doPost (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding(StandardCharsets.UTF_8.toString());
CreerCollaborateurFormChecker nv = new CreerCollaborateurFormChecker(req);
Collaborateur collaborateur = nv.checkForm();
if (nv.getErrors().isEmpty()){
CollaborateurDao collaborateurDao = new CollaborateurDao();
// Appel de la méthode create du DOA
// Si une erreur dans l'insert alors une SQLException est levé
// On l'intercepte dans le catch et on affiche un msg d'erreur à l'utilisateur
try {
collaborateurDao.create(collaborateur);
Collaborateur collab = collaborateurDao.read(collaborateur.getId());
req.setAttribute("collaborateur", collab);
req.setAttribute("message", "Votre collaborateur est bien enregistré");
req.getRequestDispatcher("/WEB-INF/jsp/collaborateur.jsp").forward(req, resp);
} catch (SQLException ex) {
Logger.getLogger(CreerCollaborateur.class.getName()).log(Level.SEVERE, null, ex);
req.setAttribute("errorMsg", "Votre formulaire comporte des erreurs");
req.getRequestDispatcher("/WEB-INF/jsp/creerCollaborateur.jsp/").forward(req, resp);
}
}else{
req.setAttribute("errorMsg", "Votre formulaire comporte des erreurs");
req.getRequestDispatcher("/WEB-INF/jsp/creerCollaborateur.jsp").forward(req, resp);
}
}
}
\ No newline at end of file
package controllers;
import dao.CollaborateurDao;
import entities.Collaborateur;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
*
* @author cberge
*/
@WebServlet("/collaborateur")
public class FicheCollaborateur extends HttpServlet {
@Override
protected void doGet (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//req.setCharacterEncoding(StandardCharsets.UTF_8.toString());
// Récupérer l'identifiant du collaborateur depuis la requête
int collaborateurId = 0;
CollaborateurDao collaborateurDao = new CollaborateurDao ();
// Lire les informations du collaborateur depuis la base de données
Collaborateur collaborateur = collaborateurDao.read(collaborateurId);
// Transmettre les informations du collaborateur à la page JSP
req.setAttribute("collaborateur", collaborateur);
req.getRequestDispatcher("/WEB-INF/jsp/collaborateur.jsp").forward(req, resp);
}
}
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Other/File.java to edit this template
*/
package dao;
import entities.Collaborateur;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDate;
/**
*
* @author cberge
*/
public class CollaborateurDao extends Dao<Collaborateur> {
public CollaborateurDao() {
super("Collaborateur");
}
@Override
public Collaborateur read(Integer id) {
Collaborateur obj = null;
String sql = "SELECT * FROM collaborateur WHERE id_collaborateur=?";
PreparedStatement pstmt;
try {
pstmt = connexion.prepareStatement(sql);
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
if (rs.first()) {
obj = new Collaborateur();
obj.setId(rs.getInt("id_collaborateur"));
obj.setMatricule(rs.getInt("matricule"));
obj.setNom(rs.getString("nom"));
obj.setPrenom(rs.getString("prenom"));
obj.setTelephone_personnel(rs.getString("telephone_personnel"));
obj.setStatut(rs.getString("statut"));
obj.setCategorie(rs.getString("categorie"));
obj.setGenre(rs.getString("genre"));
obj.setRqth(rs.getString("rqth"));
obj.setMetier(rs.getString("metier"));
}
} catch (SQLException ex) {
System.err.println("Erreur lors de la lecture : " + ex.getMessage());
}
return obj;
}
@Override
protected Collaborateur createObject(ResultSet rs) throws SQLException {
Collaborateur obj = new Collaborateur();
obj.setId(rs.getInt("id_" + table));
obj.setMatricule(rs.getInt("matricule"));
obj.setNom(rs.getString("nom"));
obj.setPrenom(rs.getString("prenom"));
obj.setTelephone_personnel(rs.getString("telephone_personnel"));
obj.setStatut(rs.getString("statut"));
obj.setCategorie(rs.getString("categorie"));
obj.setGenre(rs.getString("genre"));
obj.setRqth(rs.getString("rqth"));
obj.setMetier(rs.getString("metier"));
return obj;
}
@Override
public void create(Collaborateur obj) throws SQLException {
String sql = "INSERT INTO collaborateur (matricule, nom, prenom, telephone_personnel, statut, categorie, genre, rqth, metier)"
+ "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?)";
try {
PreparedStatement pstmt = connexion.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS);
pstmt.setInt(1, obj.getMatricule());
pstmt.setString(2, obj.getNom());
pstmt.setString(3, obj.getPrenom());
pstmt.setString(4, obj.getTelephone_personnel());
pstmt.setString(5, obj.getStatut());
pstmt.setString(6, obj.getCategorie());
pstmt.setString(7, obj.getGenre());
pstmt.setString(8, obj.getRqth());
pstmt.setString(9, obj.getMetier());
int nbLines = pstmt.executeUpdate();
if (nbLines == 1) {
ResultSet autoGeneratedKeys = pstmt.getGeneratedKeys();
autoGeneratedKeys.first();
int id = autoGeneratedKeys.getInt(1);
obj.setId(id);
}
} catch (SQLException ex) {
System.err.println("Erreur lors de l'insertion : " + ex.getMessage());
throw ex;
}
}
@Override
public void update(Collaborateur obj) {
String sql = "UPDATE collaborateur SET matricule=?, nom=?, prenom=?, telephone_personnel=?, statut=?, categorie=?, genre=?, rqth=?, metier=?"
+ "WHERE id_collaborateur=?";
try {
PreparedStatement pstmt = connexion.prepareStatement(sql);
pstmt.setInt(1, obj.getMatricule());
pstmt.setString(2, obj.getNom());
pstmt.setString(3, obj.getPrenom());
pstmt.setString(4, obj.getTelephone_personnel());
pstmt.setString(5, obj.getStatut());
pstmt.setString(6, obj.getCategorie());
pstmt.setString(7, obj.getGenre());
pstmt.setString(8, obj.getRqth());
pstmt.setString(9, obj.getMetier());
pstmt.executeUpdate();
} catch (SQLException ex) {
System.out.println("Erreur lors de l'update : " + ex.getMessage());
}
}
}
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Other/File.java to edit this template
*/
package dao;
import entities.Identifiable;
......
......@@ -4,12 +4,21 @@ package dao;
*
* @author cberge
*/
public final class DaoFactory {
public class DaoFactory {
private static CollaborateurDao collaborateurDao;
private static ResponsableActiviteDao responsableActiviteDao;
private DaoFactory(){
}
public static CollaborateurDao getCollaborateurDao(){
if (collaborateurDao == null) {
collaborateurDao = new CollaborateurDao();
}
return collaborateurDao;
}
public static ResponsableActiviteDao ResponsableActiviteDao(){
if(responsableActiviteDao == null){
......
......@@ -21,14 +21,9 @@ public class ResponsableActiviteDao extends Dao<ResponsableActivite> {
ResponsableActivite ra = new ResponsableActivite() {
};
ra.setId(rs.getInt("id_" + table));
ra.setMatricule(rs.getInt("Matricule"));
ra.setMatricule(rs.getInt("matricule"));
ra.setNom(rs.getString("nom"));
ra.setPrenom(rs.getString("prenom"));
ra.setDate_de_naissance(rs.getDate("date_de_naissance").toLocalDate());
ra.setNumero_voie(rs.getString("numero_voie"));
ra.setAdresse(rs.getString("adresse"));
ra.setCode_postal(rs.getInt("code_postal"));
ra.setVille(rs.getString("ville"));
ra.setTelephone_professionnel(rs.getString("telephone_professionnel"));
ra.setTelephone_personnel(rs.getString("telephone_personnel"));
......@@ -37,24 +32,14 @@ public class ResponsableActiviteDao extends Dao<ResponsableActivite> {
@Override
public void create(ResponsableActivite ra) throws SQLException {
String sql = "INSERT INTO ra(matricule, nom, prenom, date_de_naissance,numero_voie, adresse, code_postal, ville, telephone_professionnel, telephone_personnel) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
String sql = "INSERT INTO ra(matricule, nom, prenom, telephone_professionnel, telephone_personnel) "
+ "VALUES (?, ?, ?, ?, ?)";
try (PreparedStatement pstmt = connexion.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS)) {
pstmt.setInt(1, ra.getMatricule());
pstmt.setString(2, ra.getNom());
pstmt.setString(3, ra.getPrenom());
LocalDate localDate = ra.getDate_de_naissance();
if (localDate != null) {
pstmt.setDate(4, java.sql.Date.valueOf(localDate));
} else {
pstmt.setDate(4, null);
}
pstmt.setString(5, ra.getNumero_voie());
pstmt.setString(6, ra.getAdresse());
pstmt.setInt(7, ra.getCode_postal());
pstmt.setString(8, ra.getVille());
pstmt.setString(9, ra.getTelephone_professionnel());
pstmt.setString(10, ra.getTelephone_personnel());
pstmt.setString(4, ra.getTelephone_professionnel());
pstmt.setString(5, ra.getTelephone_personnel());
int nbLines = pstmt.executeUpdate();
if (nbLines == 1) {
ResultSet autoGeneratedKeys = pstmt.getGeneratedKeys();
......@@ -84,11 +69,6 @@ public class ResponsableActiviteDao extends Dao<ResponsableActivite> {
ra.setMatricule(rs.getInt("matricule"));
ra.setNom(rs.getString("nom"));
ra.setPrenom(rs.getString("prenom"));
ra.setDate_de_naissance(rs.getDate("date_de_naissance").toLocalDate());
ra.setNumero_voie(rs.getString("numero_voie"));
ra.setAdresse(rs.getString("adresse"));
ra.setCode_postal(rs.getInt("code_postal"));
ra.setVille(rs.getString("ville"));
ra.setTelephone_professionnel(rs.getString("telephone_professionnel"));
ra.setTelephone_personnel(rs.getString("telephone_personnel"));
System.out.println("ResponsableActivite trouvé : " + ra);
......
/* +
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Other/File.java to edit this template
*/
package dao;
import entities.Collaborateur;
/**
*
* @author cberge
*/
public class TestCollaborateur {
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
// TODO code application logic here
CollaborateurDao collDao = new CollaborateurDao();
Collaborateur collab = collDao.read(1);
System.out.println("collab : " + collab.getId() + " " + collab.getMatricule() + " " + collab.getNom() + " " + collab.getPrenom() + " " +
" " + collab.getTelephone_personnel() + " " + collab.getStatut() + " " + collab.getCategorie() + " " + collab.getGenre() + " "
+ collab.getRqth() + " " + collab.getMetier());
}
}
package entities;
import java.io.Serializable;
import java.util.Objects;
import java.time.LocalDate;
/**
*
* @author cberge
*/
@SuppressWarnings("serial")
public class Collaborateur implements Identifiable, Serializable {
private Integer id;
private Integer matricule;
private String nom;
private String prenom;
private String telephone_personnel;
private String statut;
private String categorie;
private String genre;
private String rqth;
private String metier;
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Collaborateur{");
sb.append("id=").append(id);
sb.append(", matricule=").append(matricule);
sb.append(", nom=").append(nom);
sb.append(", prenom=").append(prenom);
sb.append(", telephone_personnel=").append(telephone_personnel);
sb.append(", statut=").append(statut);
sb.append(", categorie=").append(categorie);
sb.append(", genre=").append(genre);
sb.append(", rqth=").append(rqth);
sb.append(", metier=").append(metier);
sb.append('}');
return sb.toString();
}
@Override
public int hashCode() {
int hash = 7;
hash = 89 * hash + Objects.hashCode(this.id);
hash = 89 * hash + Objects.hashCode(this.matricule);
hash = 89 * hash + Objects.hashCode(this.nom);
hash = 89 * hash + Objects.hashCode(this.prenom);
hash = 89 * hash + Objects.hashCode(this.telephone_personnel);
hash = 89 * hash + Objects.hashCode(this.statut);
hash = 89 * hash + Objects.hashCode(this.categorie);
hash = 89 * hash + Objects.hashCode(this.genre);
hash = 89 * hash + Objects.hashCode(this.rqth);
hash = 89 * hash + Objects.hashCode(this.metier);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Collaborateur other = (Collaborateur) obj;
if (!Objects.equals(this.nom, other.nom)) {
return false;
}
if (!Objects.equals(this.prenom, other.prenom)) {
return false;
}
if (!Objects.equals(this.statut, other.statut)) {
return false;
}
if (!Objects.equals(this.categorie, other.categorie)) {
return false;
}
if (!Objects.equals(this.genre, other.genre)) {
return false;
}
if (!Objects.equals(this.rqth, other.rqth)) {
return false;
}
if (!Objects.equals(this.metier, other.metier)) {
return false;
}
if (!Objects.equals(this.id, other.id)) {
return false;
}
if (!Objects.equals(this.matricule, other.matricule)) {
return false;
}
return Objects.equals(this.telephone_personnel, other.telephone_personnel);
}
@Override
public Integer getId() {
return id;
}
@Override
public void setId(Integer id) {
this.id = id;
}
public Integer getMatricule() {
return matricule;
}
public void setMatricule(Integer matricule) {
this.matricule = matricule;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getTelephone_personnel() {
return telephone_personnel;
}
public void setTelephone_personnel(String telephone_personnel) {
this.telephone_personnel = telephone_personnel;
}
public String getStatut() {
return statut;
}
public void setStatut(String statut) {
this.statut = statut;
}
public String getCategorie() {
return categorie;
}
public void setCategorie(String categorie) {
this.categorie = categorie;
}
public String getGenre() {
return genre;
}
public void setGenre(String genre) {
this.genre = genre;
}
public String getRqth() {
return rqth;
}
public void setRqth(String rqth) {
this.rqth = rqth;
}
public String getMetier() {
return metier;
}
public void setMetier(String metier) {
this.metier = metier;
}
}
......@@ -15,11 +15,6 @@ public class ResponsableActivite implements Identifiable, Serializable {
private int matricule;
private String nom;
private String prenom;
private LocalDate date_de_naissance;
private String numero_voie;
private String adresse;
private int code_postal;
private String ville;
private String telephone_professionnel;
private String telephone_personnel;
......@@ -31,11 +26,6 @@ public class ResponsableActivite implements Identifiable, Serializable {
sb.append(", matricule=").append(matricule);
sb.append(", nom=").append(nom);
sb.append(", prenom=").append(prenom);
sb.append(", date_de_naissance=").append(date_de_naissance);
sb.append(", num_voie=").append(numero_voie);
sb.append(", adresse=").append(adresse);
sb.append(", code_postal=").append(code_postal);
sb.append(", ville=").append(ville);
sb.append(", tel_pro=").append(telephone_professionnel);
sb.append(", tel_perso=").append(telephone_personnel);
sb.append('}');
......@@ -49,11 +39,6 @@ public class ResponsableActivite implements Identifiable, Serializable {
hash = 97 * hash + this.matricule;
hash = 97 * hash + Objects.hashCode(this.nom);
hash = 97 * hash + Objects.hashCode(this.prenom);
hash = 97 * hash + Objects.hashCode(this.date_de_naissance);
hash = 97 * hash + Objects.hashCode(this.numero_voie);
hash = 97 * hash + Objects.hashCode(this.adresse);
hash = 97 * hash + this.code_postal;
hash = 97 * hash + Objects.hashCode(this.ville);
hash = 97 * hash + Objects.hashCode(this.telephone_professionnel);
hash = 97 * hash + Objects.hashCode(this.telephone_personnel);
return hash;
......@@ -74,34 +59,19 @@ public class ResponsableActivite implements Identifiable, Serializable {
if (this.matricule != other.matricule) {
return false;
}
if (this.code_postal != other.code_postal) {
return false;
}
if (!Objects.equals(this.nom, other.nom)) {
return false;
}
if (!Objects.equals(this.prenom, other.prenom)) {
return false;
}
if (!Objects.equals(this.numero_voie, other.numero_voie)) {
return false;
}
if (!Objects.equals(this.adresse, other.adresse)) {
return false;
}
if (!Objects.equals(this.ville, other.ville)) {
return false;
}
if (!Objects.equals(this.telephone_professionnel, other.telephone_professionnel)) {
return false;
}
if (!Objects.equals(this.telephone_personnel, other.telephone_personnel)) {
return false;
}
if (!Objects.equals(this.id, other.id)) {
return false;
}
return Objects.equals(this.date_de_naissance, other.date_de_naissance);
return Objects.equals(this.id, other.id);
}
......@@ -140,46 +110,6 @@ public class ResponsableActivite implements Identifiable, Serializable {
this.prenom = prenom;
}
public LocalDate getDate_de_naissance() {
return date_de_naissance;
}
public void setDate_de_naissance(LocalDate date_de_naissance) {
this.date_de_naissance = date_de_naissance;
}
public String getAdresse() {
return adresse;
}
public void setAdresse(String adresse) {
this.adresse = adresse;
}
public String getNumero_voie() {
return numero_voie;
}
public void setNumero_voie(String numero_voie) {
this.numero_voie = numero_voie;
}
public int getCode_postal() {
return code_postal;
}
public void setCode_postal(int code_postal) {
this.code_postal = code_postal;
}
public String getVille() {
return ville;
}
public void setVille(String ville) {
this.ville = ville;
}
public String getTelephone_professionnel() {
return telephone_professionnel;
}
......
package forms;
import dao.DaoFactory;
import entities.Collaborateur;
import forms.FormChecker;
import jakarta.servlet.http.HttpServletRequest;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class CreerCollaborateurFormChecker extends FormChecker<Collaborateur> {
public CreerCollaborateurFormChecker(HttpServletRequest request) {
super(request);
}
@Override
public Collaborateur checkForm() {
Collaborateur obj = new Collaborateur();
String matriculeStr = request.getParameter("matricule");
String nom = request.getParameter("nom");
String prenom = request.getParameter("prenom");
String telephone_personnel = request.getParameter("telephone_personnel");
String statut = request.getParameter("statut");
String categorie = request.getParameter("categorie");
String genre = request.getParameter("genre");
String rqth = request.getParameter("rqth");
String metier = request.getParameter("metier");
// Convertir les champs Integer
try {
Integer matricule = Integer.parseInt(matriculeStr);
obj.setMatricule(matricule);
} catch (NumberFormatException e) {
System.err.println("Erreur de conversion pour le champ matricule : " + e.getMessage());
}
// Traiter les autres champs String
obj.setNom(nom);
obj.setPrenom(prenom);
obj.setTelephone_personnel(telephone_personnel);
obj.setStatut(statut);
obj.setCategorie(categorie);
obj.setGenre(genre);
obj.setRqth(rqth);
obj.setMetier(metier);
if(errors.isEmpty()){
//DaoFactory.getCollaborateurDao().save(obj);
}
request.setAttribute("bean", obj);
return obj;
}
}
\ No newline at end of file
......@@ -4,9 +4,11 @@ import jakarta.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
/**
*
* @author asolanas
* @author cberge
*/
public abstract class FormChecker <T>{
......@@ -20,13 +22,14 @@ import java.util.Map;
public abstract T checkForm();
// public Map<String, String> getErrors();
// return errors.put(key, value);
public Map<String, String> getErrors() {
return errors;
}
public boolean hasErrors() {
return !errors.isEmpty();
}
public void setError(String key, String value) {
protected void setError(String key, String value) {
this.errors.put(key, value);
}
......@@ -36,4 +39,3 @@ import java.util.Map;
}
}
......@@ -26,13 +26,8 @@ public class ResponsableActiviteFormChecker extends FormChecker<ResponsableActiv
String matriculestr = request.getParameter("matricule");
String nom = request.getParameter("nom");
String prenom = request.getParameter("prenom");
String date_naissance = request.getParameter("date_de_naissance");
String num_voie = request.getParameter("num_voie");
String adresse = request.getParameter("adresse");
String code_postalStr = request.getParameter("code_postal");
String ville = request.getParameter("ville");
String tel_pro = request.getParameter("tel_pro");
String tel_perso = request.getParameter("tel_perso");
String telephone_professionnel = request.getParameter("telephone_professionnel");
String telephone_personnel = request.getParameter("telephone_personnel");
try {
Integer matricule = Integer.parseInt(matriculestr);
......@@ -40,34 +35,10 @@ public class ResponsableActiviteFormChecker extends FormChecker<ResponsableActiv
} catch (NumberFormatException e) {
System.err.println("Erreur de conversion " + e.getMessage());
}
ra.setNom(nom);
ra.setPrenom(prenom);
LocalDate date_de_naissance = null;
if (date_naissance != null && !date_naissance.isEmpty()) {
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // Adapter le format au besoin
date_de_naissance = LocalDate.parse(date_naissance, formatter);
ra.setDate_de_naissance(date_de_naissance);
} catch (DateTimeParseException e) {
// Gérer l'erreur de format de date
setError("date_de_naissance", "Le format de la date de naissance est incorrect.");
}
}
ra.setNumero_voie(num_voie);
ra.setAdresse(adresse);
try {
Integer code_postal = Integer.parseInt(code_postalStr);
ra.setCode_postal(code_postal);
} catch (NumberFormatException e) {
System.err.println("Erreur de conversion pour le champ code_postal : " + e.getMessage());
}
ra.setVille(ville);
ra.setTelephone_professionnel(tel_pro);
ra.setTelephone_personnel(tel_perso);
ra.setTelephone_professionnel(telephone_professionnel);
ra.setTelephone_personnel(telephone_personnel);
if (nom == null || nom.trim().length() == 0) {
setError(nom, "Ce champs doit être rempli!");
......
......@@ -13,19 +13,16 @@
<title>Afficher RA</title>
</head>
<body>
<%@include file="/WEB-INF/jspf/header.jsp" %>
<fieldset>
<legend><strong>Fiche Responsable d'Activité</legend>
<p><strong>ID: </strong><c:out value="${ra.id}"/></p>
<p><strong>Matricule : </strong><c:out value="${ra.matricule}"/></p>
<p><strong>Nom : </strong><c:out value="${ra.nom}"/></p>
<p><strong>Prénom: </strong><c:out value="${ra.prenom}"/></p>
<p><strong>Date de Naissance : </strong><c:out value="${ra.date_de_naissance}"/></p>
<p><strong>Numéro de voie : </strong><c:out value="${ra.numero_voie}"/></p>
<p><strong>Adresse : </strong><c:out value="${ra.adresse}"/></p>
<p><strong>Code Postal : </strong><c:out value="${ra.code_postal}"/></p>
<p><strong>Ville : </strong><c:out value="${ra.ville}"/></p>
<p><strong>Téléphone Pro: </strong><c:out value="${ra.telephone_professionnel}"/></p>
<p><strong>Téléphone Perso: </strong><c:out value="${ra.telephone_personnel}"/></p>
</fieldset>
</body>
<%@include file="/WEB-INF/jspf/footer.jsp" %>
</html>
<%--
Document : collaborateur
Created on : 11 juin 2024, 13:40:04
Author : cberge
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix= "c" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="<c:url value="/assets/css/style.css"/>">
<link rel="stylesheet" href="<c:url value="/assets/css/form.css"/>">
</head>
</head>
<body>
<%@include file="/WEB-INF/jspf/header.jsp" %>
<main>
<fieldset>
<legend>Fiche Collaborateur</legend>
<p><strong>ID: </strong><c:out value="${collaborateur.id}"/></p>
<p><strong>Matricule: </strong><c:out value="${collaborateur.matricule}"/></p>
<p><strong>Genre: </strong><c:out value="${collaborateur.genre}"/></p>
<p><strong>Nom: </strong><c:out value="${collaborateur.nom}"/></p>
<p><strong>Prénom: </strong><c:out value="${collaborateur.prenom}"/></p>
<p><strong>Téléphone personnel: </strong><c:out value="${collaborateur.telephone_personnel}"/></p>
<p><strong>Statut: </strong><c:out value="${collaborateur.statut}"/></p>
<p><strong>Catégorie: </strong><c:out value="${collaborateur.categorie}"/></p>
<p><strong>RQTH: </strong><c:out value="${collaborateur.rqth}"/></p>
<p><strong>Métier: </strong><c:out value="${collaborateur.metier}"/></p>
</fieldset>
</main>
</body>
<%@include file="/WEB-INF/jspf/footer.jsp" %>
</html>
\ No newline at end of file
<%--
Document : creerCollaborateur
Created on : 12 juin 2024, 09:15:40
Author : cberge
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<%@include file="/WEB-INF/jspf/header.jsp" %>
<main>
<form action="/ProDigiUp_GesCollab/creer_collaborateur" method="post">
<div>${requestScope.message}</div>
<div>${requestScope.errorMsg}</div>
<fieldset>
<legend>Nouveau Collaborateur</legend>
<div>
<label for="matricule">Matricule</label>
<input type="text" id="matricule" name="matricule">
<div class="error">${requestScope.errors.matricule}</div>
</div>
<div>
<label for="genre">Genre</label>
<select id="genre" name="genre">
<option value="madame">Madame</option>
<option value="monsieur">Monsieur</option>
</select>
<div class="error">${requestScope.errors.genre}</div>
</div>
<div>
<label for="nom">Nom</label>
<input type="text" id="nom" name="nom">
<div class="error">${requestScope.errors.nom}</div>
</div>
<div>
<label for="prenom">Prénom</label>
<input type="text" id="prenom" name="prenom">
<div class="error">${requestScope.errors.prenom}</div>
</div>
<div>
<label for="telephone_personnel">Téléphone personnel</label>
<input type="text" id="telephone_personnel" name="telephone_personnel"pattern="\d{1,10}" maxlength="10" required>
<div class="error">${requestScope.errors.telephone_personnel}</div>
</div>
<div>
<label for="statut">Statut</label>
<select id="statut" name="statut">
<option value="cdd">CDD</option>
<option value="cdi">CDI</option>
<option value="cdd_tremplin">CDD Tremplin</option>
<option value="stage">Stage</option>
</select>
<div class="error">${requestScope.errors.statut}</div>
</div>
<div>
<label for="categorie">Catégorie</label>
<select id="categorie" name="categorie">
<option value="etam">ETAM</option>
<option value="cadre">Cadre</option>
</select>
<div class="error">${requestScope.errors.categorie}</div>
</div>
<div>
<label for="rqth">RQTH</label>
<select id="rqth" name="rqth">
<option value="etam">oui</option>
<option value="cadre">non</option>
</select>
<div class="error">${requestScope.errors.rqth}</div>
</div>
<div>
<label for="metier">Métier</label>
<input type="text" id="metier" name="metier">
<div class="error">${requestScope.errors.metier}</div>
</div>
</div>
<p>Merci de remplir tous les champs</p>
</fieldset>
<div>
<input type="submit" value="Envoyer">
<input type="reset" value="Annuler">
</div>
</form>
</main>
</body>
<%@include file="/WEB-INF/jspf/footer.jsp" %>
</html>
......@@ -13,6 +13,7 @@
<title>Créer RA</title>
</head>
<body>
<%@include file="/WEB-INF/jspf/header.jsp" %>
<form action="<c:url value="/creer_ra" />" method="post">
<div>${requestScope.message}</div>
<div>${requestScope.errMsg}</div>
......@@ -20,7 +21,7 @@
<legend>Créer un responsable d'activité</legend>
<div>
<label for="matricule">Matricule</label>
<input type="number" id="matricule" name="matricule"
<input type="text" id="matricule" name="matricule"
<div class="error">${requestScope.errors.matricule}</div>
</div>
<div>
......@@ -33,39 +34,14 @@
<input type="text" id="prenom" name="prenom"
<div class="error">${requestScope.errors.prenom}</div>
</div>
<div>
<label for="date_de_naissance">Date de Naissance</label>
<input type="text" id="date_de_naissance" name="date_de_naissance"
<div class="error">${requestScope.errors.date_de_naissance}</div>
</div>
<div>
<label for="num_voie">Numéro de voie</label>
<input type="text" id="num_voie" name="num_voie"
<div class="error">${requestScope.errors.numero_voie}</div>
</div>
<div>
<label for="adresse">Adresse</label>
<input type="text" id="adresse" name="adresse"
<div class="error">${requestScope.errors.adresse}</div>
</div>
<div>
<label for="code_postal">Code Postal</label>
<input type="number" id="code_postal" name="code_postal"
<div class="error">${requestScope.errors.code_postal}</div>
</div>
<div>
<label for="ville">Ville</label>
<input type="text" id="ville" name="ville"
<div class="error">${requestScope.errors.ville}</div>
</div>
<div>
<label for="tel_pro">Téléphone Professionnel</label>
<input type="text" id="tel_pro" name="tel_pro"
<input type="text" id="telephone_professionnel" name="telephone_professionnel"pattern="\d{1,10}" maxlength="10" required>
<div class="error">${requestScope.errors.telephone_professionnel}</div>
</div>
<div>
<label for="tel_perso">Téléphone Personnel</label>
<input type="text" id="tel_perso" name="tel_perso"
<input type="text" id="telephone_personnel" name="telephone_personnel"pattern="\d{1,10}" maxlength="10" required>
<div class="error">${requestScope.errors.telephone_personnel}</div>
</div>
</fieldset>
......@@ -76,4 +52,5 @@
</form>
</body>
<%@include file="/WEB-INF/jspf/footer.jsp" %>
</html>
......@@ -13,16 +13,21 @@
<title>Accueil</title>
</head>
<body>
<img src="<c:url value="/assets/img/logoproDigiUp.png" />" width="200px" height="100px" alt="logoProDigiUp">
<h1>Bienvenue sur l'application ProDigiUp</h1>
<h1>pour gérer vos collaborateurs</h1>
<%@include file="/WEB-INF/jspf/header.jsp" %>
<h1>Bienvenue </h1>
<nav>
<ul>
<li><a href="<c:url value="/creer_ra"/>">Créer un Responsable d'Activité</a></li>
<li><a href="<c:url value="/afficher_ra"/>">Voir un Responsable d'Activité</a></li>
<li><a href="<c:url value="/creer_collaborateur"/>">Créer un collaborateur</a></li>
<li><a href="<c:url value="/collaborateur"/>">Voir un collaborateur</a></li>
</ul>
</nav>
</body>
<%@include file="/WEB-INF/jspf/footer.jsp" %>
</html>
<%--
Document : footer
Created on : 14 juin 2024, 11:02:59
Author : asolanas
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<footer>
<div style="min-height: 100%;
display: grid;
grid-template-rows: auto 1fr auto ">
<p> &#169ProDigiUp </p>
Réalisé avec &#9829; par Caroline Bergé et Amélie Solanas Pruvost
</div>
</footer>
......@@ -3,15 +3,23 @@
Created on : 13 juin 2024, 12:23:41
Author : asolanas
--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
<header>
<div>
<img src="<c:url value="/assets/img/logo.png" />" width="200px" height="100px" alt="logo">
<img src="<c:url value="${pageContext.request.contextPath}/assets/img/logo.png" />" width="200px" height="100px" alt="logo">
<h1>ProDigiUp Gestion des ressources</h1>
</div>
<nav>
<ul>
<li><a href="<c:url value="/accueil"/>">Accueil</a></li>
</ul>
</nav>
</header>