Merge origin/master
Conflicts: web/WEB-INF/feuilleGardes.jsp web/css/mycss.css
This commit is contained in:
		@@ -66,6 +66,7 @@ public class AuthentifServlet extends HttpServlet {
 | 
				
			|||||||
        maSession.removeAttribute("lePompierConnecte");
 | 
					        maSession.removeAttribute("lePompierConnecte");
 | 
				
			||||||
        maSession.removeAttribute("lesPompiers");
 | 
					        maSession.removeAttribute("lesPompiers");
 | 
				
			||||||
        maSession.removeAttribute("lePompier");
 | 
					        maSession.removeAttribute("lePompier");
 | 
				
			||||||
 | 
					        maSession.removeAttribute("lesVentilInit");
 | 
				
			||||||
        getServletContext().getRequestDispatcher("/WEB-INF/authentifJSP.jsp").forward(request, response);
 | 
					        getServletContext().getRequestDispatcher("/WEB-INF/authentifJSP.jsp").forward(request, response);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										132
									
								
								src/java/servlet/GPServlet.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								src/java/servlet/GPServlet.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,132 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 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 servlet;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import bdd.GardeMySQL;
 | 
				
			||||||
 | 
					import bean.Gardes;
 | 
				
			||||||
 | 
					import bean.Pompier;
 | 
				
			||||||
 | 
					import form.DispoForm;
 | 
				
			||||||
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					import java.io.PrintWriter;
 | 
				
			||||||
 | 
					import jakarta.servlet.ServletException;
 | 
				
			||||||
 | 
					import jakarta.servlet.http.HttpServlet;
 | 
				
			||||||
 | 
					import jakarta.servlet.http.HttpServletRequest;
 | 
				
			||||||
 | 
					import jakarta.servlet.http.HttpServletResponse;
 | 
				
			||||||
 | 
					import jakarta.servlet.http.HttpSession;
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					import java.util.Calendar;
 | 
				
			||||||
 | 
					import util.TrmtDate;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @author clementine.desrucques
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					public class GPServlet extends HttpServlet {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 | 
				
			||||||
 | 
					     * methods.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param request servlet request
 | 
				
			||||||
 | 
					     * @param response servlet response
 | 
				
			||||||
 | 
					     * @throws ServletException if a servlet-specific error occurs
 | 
				
			||||||
 | 
					     * @throws IOException if an I/O error occurs
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
 | 
				
			||||||
 | 
					            throws ServletException, IOException {
 | 
				
			||||||
 | 
					        response.setContentType("text/html;charset=UTF-8");
 | 
				
			||||||
 | 
					        try ( PrintWriter out = response.getWriter()) {
 | 
				
			||||||
 | 
					            /* TODO output your page here. You may use following sample code. */
 | 
				
			||||||
 | 
					            out.println("<!DOCTYPE html>");
 | 
				
			||||||
 | 
					            out.println("<html>");
 | 
				
			||||||
 | 
					            out.println("<head>");
 | 
				
			||||||
 | 
					            out.println("<title>Servlet GPServlet</title>");            
 | 
				
			||||||
 | 
					            out.println("</head>");
 | 
				
			||||||
 | 
					            out.println("<body>");
 | 
				
			||||||
 | 
					            out.println("<h1>Servlet GPServlet at " + request.getContextPath() + "</h1>");
 | 
				
			||||||
 | 
					            out.println("</body>");
 | 
				
			||||||
 | 
					            out.println("</html>");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Handles the HTTP <code>GET</code> method.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param request servlet request
 | 
				
			||||||
 | 
					     * @param response servlet response
 | 
				
			||||||
 | 
					     * @throws ServletException if a servlet-specific error occurs
 | 
				
			||||||
 | 
					     * @throws IOException if an I/O error occurs
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    protected void doGet(HttpServletRequest request, HttpServletResponse response)
 | 
				
			||||||
 | 
					            throws ServletException, IOException {
 | 
				
			||||||
 | 
					//        processRequest(request, response);
 | 
				
			||||||
 | 
					            HttpSession maSession = request.getSession();
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					         if(maSession.getAttribute("lesVentilInit") == null){
 | 
				
			||||||
 | 
					        ArrayList<Pompier> lesPompiers = (ArrayList<Pompier>) maSession.getAttribute("lesPompiers");
 | 
				
			||||||
 | 
					        Calendar[] lesDates = new Calendar[7];
 | 
				
			||||||
 | 
					        String[] lesDatesEnString = new String[7];
 | 
				
			||||||
 | 
					        lesDates[0] = TrmtDate.getDateDebutSemaine();
 | 
				
			||||||
 | 
					        lesDatesEnString[0] = TrmtDate.getDateAAfficher(lesDates[0]);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        for (int i = 1; i < lesDates.length; i++) {
 | 
				
			||||||
 | 
					            lesDates[i] = TrmtDate.addDays(lesDates[0], i);
 | 
				
			||||||
 | 
					            lesDatesEnString[i] = TrmtDate.getDateAAfficher(lesDates[i]);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        maSession.setAttribute("lesDates", lesDates);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        maSession.setAttribute("lesDatesEnString", lesDatesEnString);
 | 
				
			||||||
 | 
					             System.out.println(lesDatesEnString.toString());
 | 
				
			||||||
 | 
					        /*Initialisation des periodes */
 | 
				
			||||||
 | 
					        int[] lesPeriodes = {1,2,3,4};
 | 
				
			||||||
 | 
					        maSession.setAttribute("lesPeriodes", lesPeriodes);
 | 
				
			||||||
 | 
					        System.out.println(lesPeriodes.toString());
 | 
				
			||||||
 | 
					        /* Recherche des ventilations */
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					            GardeMySQL vm = new GardeMySQL();
 | 
				
			||||||
 | 
					            ArrayList<Gardes> lesVentilInit = vm.getLesDisponibilite(lesDates, lesPeriodes,request);
 | 
				
			||||||
 | 
					            //System.out.println("lesVentilInit : " + lesVentilInit);
 | 
				
			||||||
 | 
					            maSession.setAttribute("lesVentilInit", lesVentilInit);
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            /* Initialisation des couleurs */
 | 
				
			||||||
 | 
					            String[] lesCouleurs = {"blanc", "gris", "jaune"};
 | 
				
			||||||
 | 
					            maSession.setAttribute("lesCouleurs", lesCouleurs);
 | 
				
			||||||
 | 
					         }
 | 
				
			||||||
 | 
					         /* Affichage de la page de ventilation */
 | 
				
			||||||
 | 
					        getServletContext().getRequestDispatcher("/WEB-INF/gardeJSP.jsp").forward(request, response);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Handles the HTTP <code>POST</code> method.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param request servlet request
 | 
				
			||||||
 | 
					     * @param response servlet response
 | 
				
			||||||
 | 
					     * @throws ServletException if a servlet-specific error occurs
 | 
				
			||||||
 | 
					     * @throws IOException if an I/O error occurs
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    protected void doPost(HttpServletRequest request, HttpServletResponse response)
 | 
				
			||||||
 | 
					            throws ServletException, IOException {
 | 
				
			||||||
 | 
					//        processRequest(request, response);
 | 
				
			||||||
 | 
					            DispoForm vf = new DispoForm();
 | 
				
			||||||
 | 
					        vf.verifDispo(request);
 | 
				
			||||||
 | 
					        getServletContext().getRequestDispatcher("/WEB-INF/pompierJSP.jsp").forward(request, response);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Returns a short description of the servlet.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return a String containing servlet description
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public String getServletInfo() {
 | 
				
			||||||
 | 
					        return "Short description";
 | 
				
			||||||
 | 
					    }// </editor-fold>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -31,14 +31,17 @@
 | 
				
			|||||||
                            <tr>
 | 
					                            <tr>
 | 
				
			||||||
                                <c:forEach var="i" begin="0" end="6" step="1">
 | 
					                                <c:forEach var="i" begin="0" end="6" step="1">
 | 
				
			||||||
                                    <c:forEach items='${sessionScope.lesPeriodes}' var="unePeriode" varStatus="status">
 | 
					                                    <c:forEach items='${sessionScope.lesPeriodes}' var="unePeriode" varStatus="status">
 | 
				
			||||||
 | 
					                                        <c:set var="periode" value="${unePeriode.getCode()}" scope="page"/>
 | 
				
			||||||
                                        <td class="text-center">${unePeriode}</td>
 | 
					                                        <td class="text-center">${unePeriode}</td>
 | 
				
			||||||
                                    </c:forEach>
 | 
					                                    </c:forEach>
 | 
				
			||||||
                                </c:forEach>
 | 
					                                </c:forEach>
 | 
				
			||||||
                            </tr>
 | 
					                            </tr>
 | 
				
			||||||
                        </thead>
 | 
					                        </thead>
 | 
				
			||||||
                          <tbody>
 | 
					                          <tbody>
 | 
				
			||||||
 | 
					                              
 | 
				
			||||||
                <c:set var="oldId" value="-1" scope="page"/>
 | 
					                <c:set var="oldId" value="-1" scope="page"/>
 | 
				
			||||||
                <tr>         
 | 
					                <tr>         
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
                    <c:forEach items='${sessionScope.lesVentilInit}' var="uneVentil" varStatus="status">
 | 
					                    <c:forEach items='${sessionScope.lesVentilInit}' var="uneVentil" varStatus="status">
 | 
				
			||||||
                        <c:set var="newId" value='${uneVentil.getPompier().getId()}' scope="page"/> 
 | 
					                        <c:set var="newId" value='${uneVentil.getPompier().getId()}' scope="page"/> 
 | 
				
			||||||
                        <c:if test='${oldId != newId}' var="test" scope="page">
 | 
					                        <c:if test='${oldId != newId}' var="test" scope="page">
 | 
				
			||||||
@@ -48,6 +51,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                            <c:set var="oldId" value='${newId}' scope="page"/>
 | 
					                            <c:set var="oldId" value='${newId}' scope="page"/>
 | 
				
			||||||
                        </c:if>
 | 
					                        </c:if>
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
                        <c:set var="activite" value='${uneVentil.getDisponibilite()}' scope="page"/>
 | 
					                        <c:set var="activite" value='${uneVentil.getDisponibilite()}' scope="page"/>
 | 
				
			||||||
                        <td>
 | 
					                        <td>
 | 
				
			||||||
                            <input readonly type="text" value='${activite}' name="lesActivites"class="ztVentil ${sessionScope.lesCouleurs[activite]}"/>
 | 
					                            <input readonly type="text" value='${activite}' name="lesActivites"class="ztVentil ${sessionScope.lesCouleurs[activite]}"/>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										93
									
								
								web/WEB-INF/gardeJSP.jsp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								web/WEB-INF/gardeJSP.jsp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
				
			|||||||
 | 
					<%-- 
 | 
				
			||||||
 | 
					    Document   : gardeJSP
 | 
				
			||||||
 | 
					    Created on : 14 déc. 2021, 08:20:45
 | 
				
			||||||
 | 
					    Author     : clementine.desrucques
 | 
				
			||||||
 | 
					--%>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<%@page contentType="text/html" pageEncoding="UTF-8"%>
 | 
				
			||||||
 | 
					<%@include file= "jspf/debutJSP.jspf" %>
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					    <%@include file= "jspf/header.jspf" %>
 | 
				
			||||||
 | 
					    <div class="container">
 | 
				
			||||||
 | 
					        <section id="contenueAffiche" class="row">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <fieldset class="row mt-1 mb-10">  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                <legend>
 | 
				
			||||||
 | 
					                    Feuille de gardes
 | 
				
			||||||
 | 
					                </legend>
 | 
				
			||||||
 | 
					                <form action="gardes" method="POST">
 | 
				
			||||||
 | 
					                    <table class="table">
 | 
				
			||||||
 | 
					                        <thead>
 | 
				
			||||||
 | 
					                            <tr>
 | 
				
			||||||
 | 
					                                <th rowspan="2">No</th>
 | 
				
			||||||
 | 
					                                <th rowspan="2">Nom Prenom</th>
 | 
				
			||||||
 | 
					                                    <c:forEach items='${sessionScope.lesDatesEnString}' var="uneDate" varStatus="status">
 | 
				
			||||||
 | 
					                                    <th colspan="4" class="text-center"> ${uneDate}</th>
 | 
				
			||||||
 | 
					                                    </c:forEach>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            </tr>
 | 
				
			||||||
 | 
					                            <tr>
 | 
				
			||||||
 | 
					                                <c:forEach var="i" begin="0" end="6" step="1">
 | 
				
			||||||
 | 
					                                    <c:forEach items='${sessionScope.lesPeriodes}' var="unePeriode" varStatus="status">
 | 
				
			||||||
 | 
					                                        <c:set var="periode" value="${unePeriode.getCode()}" scope="page"/>
 | 
				
			||||||
 | 
					                                        <td class="text-center">${unePeriode}</td>
 | 
				
			||||||
 | 
					                                    </c:forEach>
 | 
				
			||||||
 | 
					                                </c:forEach>
 | 
				
			||||||
 | 
					                            </tr>
 | 
				
			||||||
 | 
					                        </thead>
 | 
				
			||||||
 | 
					                          <tbody>
 | 
				
			||||||
 | 
					                              
 | 
				
			||||||
 | 
					                <c:set var="oldId" value="-1" scope="page"/>
 | 
				
			||||||
 | 
					                <tr>         
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
 | 
					                    <c:forEach items='${sessionScope.lesVentilInit}' var="uneVentil" varStatus="status">
 | 
				
			||||||
 | 
					                        <c:set var="newId" value='${uneVentil.getPompier().getId()}' scope="page"/> 
 | 
				
			||||||
 | 
					                        <c:if test='${oldId != newId}' var="test" scope="page">
 | 
				
			||||||
 | 
					                        </tr><tr>
 | 
				
			||||||
 | 
					                            <td>${uneVentil.getPompier().getId()}</td>
 | 
				
			||||||
 | 
					                            <td>${uneVentil.getPompier().getNom()} ${uneVentil.getPompier().getPrenom()}</td>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            <c:set var="oldId" value='${newId}' scope="page"/>
 | 
				
			||||||
 | 
					                        </c:if>
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
 | 
					                        <c:set var="activite" value='${uneVentil.getDisponibilite()}' scope="page"/>
 | 
				
			||||||
 | 
					                        <td>
 | 
				
			||||||
 | 
					                            <input readonly type="text" value='${activite}' name="lesActivites"class="ztVentil ${sessionScope.lesCouleurs[activite]}"/>
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                    </c:forEach>
 | 
				
			||||||
 | 
					                </tr>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            </tbody>
 | 
				
			||||||
 | 
					                    </table>
 | 
				
			||||||
 | 
					                    <div id="legendCouleur">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        <span  style="background-color: white">Dispo</span>
 | 
				
			||||||
 | 
					                        <span  style="background-color: gray">Indispo</span>
 | 
				
			||||||
 | 
					                        <span  style="background-color: yellow">Au travail</span>
 | 
				
			||||||
 | 
					                        <span>De garde : X</span>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					                </form>
 | 
				
			||||||
 | 
					            </fieldset> 
 | 
				
			||||||
 | 
					        </section>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					    var couleurs = ["blanc", "gris", "jaune"];
 | 
				
			||||||
 | 
					    var lesAct = document.getElementsByClassName("ztVentil");
 | 
				
			||||||
 | 
					    for (var uneAct of lesAct) {
 | 
				
			||||||
 | 
					        uneAct.onclick = function () {
 | 
				
			||||||
 | 
					            var act = this.value;
 | 
				
			||||||
 | 
					            var newAct = (act + 1) % 3;
 | 
				
			||||||
 | 
					            var coul = couleurs[newAct];
 | 
				
			||||||
 | 
					            this.classList.remove(couleurs[act]);
 | 
				
			||||||
 | 
					            this.classList.add(coul);
 | 
				
			||||||
 | 
					            this.value = newAct;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
@@ -20,6 +20,10 @@
 | 
				
			|||||||
        <servlet-name>feuilleGardes</servlet-name>
 | 
					        <servlet-name>feuilleGardes</servlet-name>
 | 
				
			||||||
        <servlet-class>servlet.GardesServlet</servlet-class>
 | 
					        <servlet-class>servlet.GardesServlet</servlet-class>
 | 
				
			||||||
    </servlet>
 | 
					    </servlet>
 | 
				
			||||||
 | 
					    <servlet>
 | 
				
			||||||
 | 
					        <servlet-name>GPServlet</servlet-name>
 | 
				
			||||||
 | 
					        <servlet-class>servlet.GPServlet</servlet-class>
 | 
				
			||||||
 | 
					    </servlet>
 | 
				
			||||||
    <servlet-mapping>
 | 
					    <servlet-mapping>
 | 
				
			||||||
        <servlet-name>AuthentifServlet</servlet-name>
 | 
					        <servlet-name>AuthentifServlet</servlet-name>
 | 
				
			||||||
        <url-pattern>/authentification</url-pattern>
 | 
					        <url-pattern>/authentification</url-pattern>
 | 
				
			||||||
@@ -32,6 +36,10 @@
 | 
				
			|||||||
        <servlet-name>feuilleGardes</servlet-name>
 | 
					        <servlet-name>feuilleGardes</servlet-name>
 | 
				
			||||||
        <url-pattern>/gardes</url-pattern>
 | 
					        <url-pattern>/gardes</url-pattern>
 | 
				
			||||||
    </servlet-mapping>
 | 
					    </servlet-mapping>
 | 
				
			||||||
 | 
					    <servlet-mapping>
 | 
				
			||||||
 | 
					        <servlet-name>GPServlet</servlet-name>
 | 
				
			||||||
 | 
					        <url-pattern>/PompierGarde</url-pattern>
 | 
				
			||||||
 | 
					    </servlet-mapping>
 | 
				
			||||||
    <session-config>
 | 
					    <session-config>
 | 
				
			||||||
        <session-timeout>
 | 
					        <session-timeout>
 | 
				
			||||||
            30
 | 
					            30
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user