user story 9
comme la plupart était déjà fait, j'ai juste : - ajouté un 3e bouton sur le menu pour consulter les demandes - mis à jour la fonction "finaliserDemande()" pour qu'on ne puisse finaliser que les demandes 'en cours' (car les demandes 'acceptés' n'ont pas été attribuées)
This commit is contained in:
parent
f15d31a14d
commit
4881462c38
2 changed files with 97 additions and 6 deletions
|
@ -132,16 +132,35 @@ public class BenevoleDemandesPage extends JFrame {
|
||||||
int demandeId = (int) tableModel.getValueAt(selectedRow, 0);
|
int demandeId = (int) tableModel.getValueAt(selectedRow, 0);
|
||||||
|
|
||||||
try (Connection connection = DatabaseConnection.getConnection()) {
|
try (Connection connection = DatabaseConnection.getConnection()) {
|
||||||
String sql = "UPDATE demandes_aide SET statut = 'finalisée' WHERE id = ?";
|
// Verifier si la demande est bien 'en cours' d'abord
|
||||||
PreparedStatement statement = connection.prepareStatement(sql);
|
String checkSql = "SELECT statut FROM demandes_aide WHERE id = ?";
|
||||||
statement.setInt(1, demandeId);
|
PreparedStatement checkStatement = connection.prepareStatement(checkSql);
|
||||||
statement.executeUpdate();
|
checkStatement.setInt(1, demandeId);
|
||||||
|
ResultSet resultSet = checkStatement.executeQuery();
|
||||||
|
|
||||||
JOptionPane.showMessageDialog(this, "Demande finalisée avec succès.");
|
if (resultSet.next()) {
|
||||||
loadDemandesAcceptees(); // Recharger les demandes après la finalisation
|
String currentStatus = resultSet.getString("statut");
|
||||||
|
|
||||||
|
if ("en cours".equals(currentStatus)) {
|
||||||
|
// Mise à jour seulement si le statut est 'en cours'
|
||||||
|
String updateSql = "UPDATE demandes_aide SET statut = 'finalisée' WHERE id = ?";
|
||||||
|
PreparedStatement updateStatement = connection.prepareStatement(updateSql);
|
||||||
|
updateStatement.setInt(1, demandeId);
|
||||||
|
updateStatement.executeUpdate();
|
||||||
|
|
||||||
|
JOptionPane.showMessageDialog(this, "Demande finalisée avec succès.");
|
||||||
|
} else {
|
||||||
|
// Statut n'est pas 'en cours'
|
||||||
|
JOptionPane.showMessageDialog(this, "Demande non finalisée car le statut n'est pas 'en cours'. (Statut actuel : " + currentStatus + ")");
|
||||||
|
}
|
||||||
|
loadDemandesAcceptees(); // Recharger les demandes après tentative/réssuite de finalisation
|
||||||
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
JOptionPane.showMessageDialog(this, "Erreur lors de la finalisation de la demande.");
|
JOptionPane.showMessageDialog(this, "Erreur lors de la finalisation de la demande.");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
72
src/main/java/controller/MainMenu.java
Normal file
72
src/main/java/controller/MainMenu.java
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
package controller;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
|
public class MainMenu extends JFrame {
|
||||||
|
private JButton ajouterUtilisateurButton;
|
||||||
|
private JButton soumettreDemandeButton;
|
||||||
|
private JButton consulterDemandeButton;
|
||||||
|
|
||||||
|
public MainMenu() {
|
||||||
|
setTitle("Menu Principal");
|
||||||
|
setSize(400, 300);
|
||||||
|
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;
|
||||||
|
|
||||||
|
ajouterUtilisateurButton = new JButton("Ajouter un utilisateur");
|
||||||
|
gbc.gridx = 0;
|
||||||
|
gbc.gridy = 0;
|
||||||
|
add(ajouterUtilisateurButton, gbc);
|
||||||
|
|
||||||
|
soumettreDemandeButton = new JButton("Soumettre une demande d'aide");
|
||||||
|
gbc.gridx = 0;
|
||||||
|
gbc.gridy = 1;
|
||||||
|
add(soumettreDemandeButton, gbc);
|
||||||
|
|
||||||
|
consulterDemandeButton = new JButton("Consulter les demandes d'aide acceptées");
|
||||||
|
gbc.gridx = 0;
|
||||||
|
gbc.gridy = 2;
|
||||||
|
add(consulterDemandeButton, gbc);
|
||||||
|
|
||||||
|
ajouterUtilisateurButton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
AjoutUtilisateur ajoutUtilisateur = new AjoutUtilisateur();
|
||||||
|
ajoutUtilisateur.setVisible(true);
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
soumettreDemandeButton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
SoumettreDemande soumettreDemande = new SoumettreDemande(1); // Test avec un utilisateur par défaut
|
||||||
|
soumettreDemande.setVisible(true);
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
consulterDemandeButton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
BenevoleDemandesPage benevoleDemandesPage = new BenevoleDemandesPage(1); // Test avec un utilisateur par défaut
|
||||||
|
benevoleDemandesPage.setVisible(true);
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
MainMenu menu = new MainMenu();
|
||||||
|
menu.setVisible(true);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue