diff --git a/pom.xml b/pom.xml
index aab5913..07eece2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,6 +9,21 @@
1.0-SNAPSHOT
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ 5.7.0
+ test
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.7.0
+ test
+
+
mysql
diff --git a/src/main/java/controller/AjoutUtilisateur.java b/src/main/java/controller/AjoutUtilisateur.java
index 60dde4f..9e7c162 100644
--- a/src/main/java/controller/AjoutUtilisateur.java
+++ b/src/main/java/controller/AjoutUtilisateur.java
@@ -3,7 +3,6 @@ package controller;
import database.DatabaseConnection;
import javax.swing.*;
-import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
@@ -15,61 +14,26 @@ public class AjoutUtilisateur extends JFrame {
private JTextField emailField;
private JComboBox typeComboBox;
private JButton ajouterButton;
- private JButton retourAccueilButton;
+ private JButton retourButton;
public AjoutUtilisateur() {
setTitle("Ajouter un utilisateur");
- setSize(400, 300);
+ setSize(400, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
- setLayout(new GridBagLayout());
-
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.insets = new Insets(10, 10, 10, 10);
- gbc.fill = GridBagConstraints.HORIZONTAL;
+
JLabel nomLabel = new JLabel("Nom :");
- gbc.gridx = 0;
- gbc.gridy = 0;
- add(nomLabel, gbc);
-
nomField = new JTextField();
- gbc.gridx = 1;
- gbc.gridy = 0;
- gbc.gridwidth = 2;
- add(nomField, gbc);
JLabel emailLabel = new JLabel("Email :");
- gbc.gridx = 0;
- gbc.gridy = 1;
- add(emailLabel, gbc);
-
emailField = new JTextField();
- gbc.gridx = 1;
- gbc.gridy = 1;
- gbc.gridwidth = 2;
- add(emailField, gbc);
JLabel typeLabel = new JLabel("Type d'utilisateur :");
- gbc.gridx = 0;
- gbc.gridy = 2;
- add(typeLabel, gbc);
-
typeComboBox = new JComboBox<>(new String[]{"benevole", "personne_besoin", "validateur"});
- gbc.gridx = 1;
- gbc.gridy = 2;
- gbc.gridwidth = 2;
- add(typeComboBox, gbc);
ajouterButton = new JButton("Ajouter");
- gbc.gridx = 1;
- gbc.gridy = 3;
- add(ajouterButton, gbc);
-
- retourAccueilButton = new JButton("Retour à l'accueil");
- gbc.gridx = 1;
- gbc.gridy = 4;
- add(retourAccueilButton, gbc);
+ retourButton = new JButton("Retour à l'accueil");
ajouterButton.addActionListener(new ActionListener() {
@Override
@@ -78,14 +42,51 @@ public class AjoutUtilisateur extends JFrame {
}
});
- retourAccueilButton.addActionListener(new ActionListener() {
+ retourButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- MainMenu menu = new MainMenu();
- menu.setVisible(true);
- dispose();
+ MainMenu mainMenu = new MainMenu();
+ mainMenu.setVisible(true);
+ dispose();
}
});
+
+ GroupLayout layout = new GroupLayout(getContentPane());
+ getContentPane().setLayout(layout);
+ layout.setAutoCreateGaps(true);
+ layout.setAutoCreateContainerGaps(true);
+
+ layout.setHorizontalGroup(
+ layout.createSequentialGroup()
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING)
+ .addComponent(nomLabel)
+ .addComponent(emailLabel)
+ .addComponent(typeLabel))
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addComponent(nomField)
+ .addComponent(emailField)
+ .addComponent(typeComboBox)
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(ajouterButton)
+ .addGap(10, 10, 10)
+ .addComponent(retourButton)))
+ );
+
+ layout.setVerticalGroup(
+ layout.createSequentialGroup()
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(nomLabel)
+ .addComponent(nomField))
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(emailLabel)
+ .addComponent(emailField))
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(typeLabel)
+ .addComponent(typeComboBox))
+ .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(ajouterButton)
+ .addComponent(retourButton))
+ );
}
private void ajouterUtilisateur() {
@@ -93,6 +94,11 @@ public class AjoutUtilisateur extends JFrame {
String email = emailField.getText();
String typeUtilisateur = (String) typeComboBox.getSelectedItem();
+ if (nom.isEmpty() || email.isEmpty()) {
+ JOptionPane.showMessageDialog(this, "Veuillez remplir tous les champs.");
+ return;
+ }
+
try (Connection connection = DatabaseConnection.getConnection()) {
String sql = "INSERT INTO utilisateurs (nom, email, type_utilisateur) VALUES (?, ?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
@@ -103,6 +109,18 @@ public class AjoutUtilisateur extends JFrame {
JOptionPane.showMessageDialog(this, "Utilisateur ajouté avec succès !");
} catch (SQLException e) {
e.printStackTrace();
+ JOptionPane.showMessageDialog(this, "Erreur lors de l'ajout de l'utilisateur.");
}
}
+
+
+
+
+
+
+
+ public static void main(String[] args) {
+ AjoutUtilisateur ajoutUtilisateur = new AjoutUtilisateur();
+ ajoutUtilisateur.setVisible(true);
+ }
}
diff --git a/src/main/java/database/DatabaseConnection.java b/src/main/java/database/DatabaseConnection.java
index 1abec4d..d347aec 100644
--- a/src/main/java/database/DatabaseConnection.java
+++ b/src/main/java/database/DatabaseConnection.java
@@ -5,9 +5,9 @@ import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseConnection {
- private static final String URL = "jdbc:mysql://localhost:3306/aide_personnes_db";
- private static final String USER = "root";
- private static final String PASSWORD = "@Abdo2001elouali";
+ private static final String URL = "jdbc:mysql://srv-bdens.insa-toulouse.fr:3306/projet_gei_023";
+ private static final String USER = "projet_gei_023";
+ private static final String PASSWORD = "ohQu4ood";
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
diff --git a/src/test/java/controller/AjoutUtilisateurTest.java b/src/test/java/controller/AjoutUtilisateurTest.java
new file mode 100644
index 0000000..808de27
--- /dev/null
+++ b/src/test/java/controller/AjoutUtilisateurTest.java
@@ -0,0 +1,31 @@
+package controller;
+
+import controller.AjoutUtilisateur;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class AjoutUtilisateurTest {
+
+ private AjoutUtilisateur ajoutUtilisateur;
+
+ @BeforeEach
+ void setUp() {
+ ajoutUtilisateur = new AjoutUtilisateur();
+ }
+
+ @Test
+ void testAjoutUtilisateur() {
+ // Tester si l'interface est bien créée
+ assertNotNull(ajoutUtilisateur);
+ }
+
+
+ //beaucoup de test a ajouter aprés
+
+
+
+
+}