Skip to content
Snippets Groups Projects
Commit c40857e1 authored by Charles's avatar Charles
Browse files

Ajout page liste défis réussis

parent 3e267592
Branches
Tags
No related merge requests found
......@@ -62,6 +62,8 @@ public class ActionBuilder {
return new AfficherPageParticipationDefiAction();
case "afficherPageInscriptionDefi":
return new AfficherPageInscriptionDefiAction();
case "afficherPageDefisReussis":
return new AfficherPageDefisReussisAction();
case "effectuerInscriptionDefi":
return new EffectuerInscriptionDefiAction();
case "afficherPageModificationDefi":
......
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.defiLecture.controleur;
import com.defiLecture.modele.Compte;
import com.defiLecture.modele.CompteDAO;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import jdbc.Config;
import jdbc.Connexion;
/**
*
* @author Charles
*/
public class AfficherPageDefisReussisAction implements Action, RequestAware , SessionAware {
private HttpSession session;
private HttpServletRequest request;
private HttpServletResponse response;
@Override
public String execute() {
//Exclusivement pour l'Admin et le Modérateur.
if( session.getAttribute("connecte") != null && session.getAttribute("role") != null)
try {
if( ( (int)session.getAttribute("role") == Compte.MODERATEUR)
|| ( (int)session.getAttribute("role") == Compte.ADMINISTRATEUR)) {
Class.forName(Config.DRIVER);
Connexion.setUrl(Config.URL);
Connexion.setUser(Config.DB_USER);
Connexion.setPassword(Config.DB_PWD);
Connection cnx = Connexion.getInstance();
CompteDAO dao = new CompteDAO(cnx);
if(dao.read((int)session.getAttribute("connecte"))!=null)
request.setAttribute("vue", "pageDefisReussis.jsp");
return "/index.jsp";
}
} catch (ClassNotFoundException ex) {
System.out.println("Erreur dans le chargement du pilote");
Logger.getLogger(AfficherPageGestionListeComptesAction.class.getName()).log(Level.SEVERE, null, ex);
request.setAttribute("vue", "accueil.jsp");
return "/index.jsp";
}
catch(NullPointerException ex){
System.out.println("L'utilisateur n'existe pas");
return "/index.jsp";
} catch (SQLException ex) {
Logger.getLogger(AfficherPageGestionListeComptesAction.class.getName()).log(Level.SEVERE, null, ex);
}
finally{
Connexion.close();
}
return "/index.jsp";
}
@Override
public void setRequest(HttpServletRequest request) {
this.request = request;
}
@Override
public void setResponse(HttpServletResponse response) {
this.response = response;
}
@Override
public void setSession(HttpSession session) {
this.session = session;
}
}
......@@ -273,5 +273,55 @@ public class InscriptionDefiDAO extends DAO<InscriptionDefi> {
}
public List<InscriptionDefi> findByDefiReussi() {
String req = "SELECT * FROM inscription_defi WHERE `EST_REUSSI` = 1";
List<InscriptionDefi> listeInscriptionDefi = new ArrayList<InscriptionDefi>();
PreparedStatement paramStm = null;
try {
paramStm = cnx.prepareStatement(req);
ResultSet resultat = paramStm.executeQuery();
// On vérifie s'il y a un résultat
while(resultat.next()){
InscriptionDefi i = new InscriptionDefi();
i.setIdInscriptionDefi(resultat.getInt("ID_INSCRIPTION_DEFI"));
i.setIdCompte(resultat.getInt("ID_COMPTE"));
i.setIdDefi(resultat.getInt("ID_DEFI"));
i.setValeurMinute(resultat.getInt("VALEUR_MINUTE"));
i.setEstReussi(resultat.getInt("EST_REUSSI"));
i.setDateInscription(resultat.getString("DATE_INSCRIPTION"));
listeInscriptionDefi.add(i);
}
resultat.close();
paramStm.close();
return listeInscriptionDefi;
}
catch (SQLException exp) {
}
finally {
try{
if (paramStm!=null)
paramStm.close();
}
catch (SQLException exp) {
}
catch (Exception e) {
}
}
return listeInscriptionDefi;
}
}
<%--
Document : pageDefisReussis
Created on : 2018-04-15, 09:23:25
Author : Charles
--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="jdbc.Config"%>
<%@page import="com.defiLecture.modele.Compte"%>
<%@page import="java.sql.Connection"%>
<%@page import="com.defiLecture.modele.CompteDAO"%>
<%@page import="jdbc.Connexion"%>
<%@ page pageEncoding="UTF-8" %>
<jsp:useBean id="connexion" scope="page" class="jdbc.Connexion"></jsp:useBean>
<jsp:useBean id="daoDefi" scope="page" class="com.defiLecture.modele.DefiDAO">
<jsp:setProperty name="daoDefi" property="cnx" value="${connexion.connection}"></jsp:setProperty>
</jsp:useBean>
<jsp:useBean id="daoInscriptionDefi" scope="page" class="com.defiLecture.modele.InscriptionDefiDAO">
<jsp:setProperty name="daoInscriptionDefi" property="cnx" value="${connexion.connection}"></jsp:setProperty>
</jsp:useBean>
<jsp:useBean id="daoCompte" scope="page" class="com.defiLecture.modele.CompteDAO">
<jsp:setProperty name="daoCompte" property="cnx" value="${connexion.connection}"></jsp:setProperty>
</jsp:useBean>
<div class="row listeCompte-row">
<div class="col-sm-12 col-lg-12 col-xs-12 col-md-12 listeCompte-col">
<h2>Liste des défis réussis</h2>
<p>
<c:set var="listeInscriptionDefi" value="${daoInscriptionDefi.findByDefiReussi()}"/>
<c:forEach items="${listeInscriptionDefi}" var="inscription">
<c:set var="defi" value="${daoDefi.read(inscription.idDefi)}"/>
<c:if test="${ defi.idDefi != defiTemp }">
<h3>${defi.nom}</h3>
</c:if>
<c:set var="defiTemp" value="${inscription.idDefi}"/>
<c:set var="compte" value="${daoCompte.read(inscription.idCompte)}"/>
${compte.courriel}
<br>
</c:forEach>
</p>
</div>
</div>
\ No newline at end of file
......@@ -135,6 +135,7 @@
<ul class="dropdown-menu">
<c:if test="${ sessionScope.role ge 3 }">
<li><a href="*.do?tache=afficherPageCreationDefi">Cr&eacute;er un d&eacute;fi</a></li>
<li><a href="*.do?tache=afficherPageDefisReussis">Liste défis réussis</a></li>
</c:if>
<li><a href="*.do?tache=afficherPageParticipationDefi">Voir les d&eacute;fis</a></li>
</ul>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment