Skip to content
Snippets Groups Projects
Commit 448fbd35 authored by Paul Cancel's avatar Paul Cancel
Browse files

ajout pages

parent b62115f7
No related branches found
No related tags found
No related merge requests found
Showing with 148 additions and 6 deletions
......@@ -4,6 +4,8 @@ import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
......@@ -37,10 +39,36 @@ public class MeetingController {
User user = userOpt.get();
if(user.getPassword().equals(password)){
session.setAttribute("currentUser", user);
System.out.println("Bienvenue " + user.getSurname());
return "listeAction";
}
}
return "login";
}
@RequestMapping(value = "register", method = RequestMethod.GET)
private String registerForm(){
return "register";
}
@RequestMapping(value = "register", method = RequestMethod.POST)
private String registerFormPost(@Valid User user, BindingResult res, Model model, HttpSession session){
System.out.println(user);
if(res.hasErrors()){
return "register";
}
Optional<User> userOpt = ur.findByEmail(user.getEmail());
if(userOpt.isPresent()){
return "login";
}
ur.save(user);
session.setAttribute("currentUser", user);
return "listeAction";
}
@RequestMapping(value = "listeAction", method = RequestMethod.GET)
private String listeAction(){
return "listeAction";
}
}
......@@ -2,6 +2,9 @@ package fr.but.infoetu.MeetingPlannr.pojo;
import java.time.LocalDate;
import org.springframework.boot.context.properties.bind.DefaultValue;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
......@@ -15,6 +18,7 @@ import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.Builder.Default;
@Entity
@AllArgsConstructor
......@@ -52,4 +56,8 @@ public class User {
@NotNull(message = REQUIRED)
@Size(min = 8, message = "password too short")
private String password;
@Column(columnDefinition = "BOOLEAN DEFAULT FALSE")
private boolean isAdmin = false;
}
package fr.but.infoetu.MeetingPlannr.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.CrudRepository;
import fr.but.infoetu.MeetingPlannr.pojo.Meeting;
public interface MeetingRepository extends CrudRepository<Meeting, Integer>{
public interface MeetingRepository extends JpaRepository<Meeting, Integer>{
}
package fr.but.infoetu.MeetingPlannr.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.CrudRepository;
import fr.but.infoetu.MeetingPlannr.pojo.Request;
public interface RequestRepository extends CrudRepository<Request, Integer>{
public interface RequestRepository extends JpaRepository<Request, Integer>{
}
......@@ -2,10 +2,11 @@ package fr.but.infoetu.MeetingPlannr.repository;
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.CrudRepository;
import fr.but.infoetu.MeetingPlannr.pojo.User;
public interface UserRepository extends CrudRepository<User, Integer>{
public interface UserRepository extends JpaRepository<User, Integer>{
Optional<User> findByEmail(String email);
}
......@@ -8,3 +8,8 @@ spring.datasource.username=paulcanceletu
spring.datasource.password=moi
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
server.servlet.contextPath=/meetingplannr
\ No newline at end of file
INSERT INTO users (email, name, surname, phone_number, birthdate, password) VALUES ('john.doe@example.com', 'John', 'Doe', '0612345678', '1990-05-15', 'password123');
INSERT INTO users (email, name, surname, phone_number, birthdate, password) VALUES ('jane.smith@example.com', 'Jane', 'Smith', '0698765432', '1985-08-22', 'securepwd');
INSERT INTO users (email, name, surname, phone_number, birthdate, password) VALUES ('robert.brown@example.com', 'Robert', 'Brown', '0711121314', '1992-03-12', 'robert2024');
INSERT INTO users (email, name, surname, phone_number, birthdate, password) VALUES ('emily.jones@example.com', 'Emily', 'Jones', '0645678901', '2000-11-09', 'emily!secure');
INSERT INTO users (email, name, surname, phone_number, birthdate, password) VALUES ('william.davis@example.com', 'William', 'Davis', '0623456789', '1988-07-30', 'password789');
INSERT INTO users (email, name, surname, phone_number, birthdate, password, is_admin) VALUES ('paul.cancel@net.fr', 'Paul', 'Cancel', '0682015653', '2004-12-26', 'maywennjuliagoat', true);
INSERT INTO users (email, name, surname, phone_number, birthdate, password, is_admin) VALUES ('theo.vienne@net.fr', 'Theo', 'Vienne', '0619515793', '2000-08-31', 'noemiegoat', true);
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="fr.but.infoetu.MeetingPlannr.pojo.User" %>
<!DOCTYPE html>
<html>
<head>
......@@ -50,6 +50,9 @@
</style>
</head>
<body>
<%
User currentUser = (User) request.getSession().getAttribute("currentUser")
%>
<div class="container">
<h1>Actions Disponibles</h1>
<div class="actions">
......
......@@ -47,6 +47,7 @@
font-size: 16px;
border-radius: 5px;
cursor: pointer;
margin: 10px;
}
button:hover {
background: #0056b3;
......@@ -70,6 +71,9 @@
<input type="password" id="password" name="password" placeholder="Entrez votre mot de passe">
</div>
<button type="submit">Se connecter</button>
<a href="/register">
Créer un nouveau compte
</a>
</form>
<%
String errorMessage = (String) request.getAttribute("errorMessage");
......
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
<style>
body {
font-family: Arial, sans-serif;
}
.form-container {
max-width: 500px;
margin: 50px auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
}
.form-container h1 {
text-align: center;
}
.form-group {
margin-bottom: 15px;
}
.form-group label {
display: block;
font-weight: bold;
}
.form-group input {
width: 100%;
padding: 8px;
box-sizing: border-box;
}
.error {
color: red;
font-size: 0.9em;
}
.form-group button {
width: 100%;
padding: 10px;
background-color: #28a745;
color: white;
border: none;
border-radius: 5px;
font-size: 1em;
}
.form-group button:hover {
background-color: #218838;
}
</style>
</head>
<body>
<div class="form-container">
<h1>Register</h1>
<form action="register" method="post">
<div class="form-group">
<label for="email">Email:</label>
<input type="email" id="email" name="email">
</div>
<div class="form-group">
<label for="name">Name:</label>
<input type="text" id="name" name="name">
</div>
<div class="form-group">
<label for="surname">Surname:</label>
<input type="text" id="surname" name="surname">
</div>
<div class="form-group">
<label for="phoneNumber">Phone Number:</label>
<input type="tel" id="phoneNumber" name="phoneNumber">
</div>
<div class="form-group">
<label for="birthdate">Birthdate:</label>
<input type="date" id="birthdate" name="birthdate">
</div>
<div class="form-group">
<label for="password">Password:</label>
<input type="password" id="password" name="password">
</div>
<div class="form-group">
<button type="submit">Register</button>
</div>
</form>
</div>
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment