add users storie 5 & 6

This commit is contained in:
Abderrahman El-Ouali 2024-10-12 18:00:19 +02:00
parent 79a8f58fc2
commit f15d31a14d

View file

@ -1,121 +0,0 @@
package controller;
import database.DatabaseConnection;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class AjoutUtilisateur extends JFrame {
private JTextField nomField;
private JTextField emailField;
private JComboBox<String> roleComboBox;
private JButton ajouterButton;
private JButton retourButton;
public AjoutUtilisateur() {
setTitle("Ajouter un utilisateur");
setSize(400, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JLabel nomLabel = new JLabel("Nom :");
nomField = new JTextField();
JLabel emailLabel = new JLabel("Email :");
emailField = new JTextField();
JLabel roleLabel = new JLabel("Type d'utilisateur :");
roleComboBox = new JComboBox<>(new String[]{"personne_besoin", "validateur", "benevole"});
ajouterButton = new JButton("Ajouter");
retourButton = new JButton("Retour à l'accueil");
// ActionListener pour ajouter un utilisateur
ajouterButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ajouterUtilisateur();
}
});
// Bouton de retour à la page d'accueil
retourButton = new JButton("Retour à l'accueil");
retourButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
LoginPage log = new LoginPage();
log.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(roleLabel))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(nomField)
.addComponent(emailField)
.addComponent(roleComboBox)
.addGroup(layout.createSequentialGroup()
.addComponent(ajouterButton)
.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(roleLabel)
.addComponent(roleComboBox))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(ajouterButton)
.addComponent(retourButton))
);
}
private void ajouterUtilisateur() {
String nom = nomField.getText();
String email = emailField.getText();
String role = (String) roleComboBox.getSelectedItem();
if (nom.isEmpty() || email.isEmpty() || role == null) {
JOptionPane.showMessageDialog(this, "Veuillez remplir tous les champs.");
return;
}
try (Connection connection = DatabaseConnection.getConnection()) {
String sql = "INSERT INTO utilisateurs (nom, email, role) VALUES (?, ?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, nom);
statement.setString(2, email);
statement.setString(3, role);
statement.executeUpdate();
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);
}
}