Commit d1d16f06a377ec961202f23e3bfdce64691e0d34
1 parent
deabfae9
implementation de l'ajout de maj
Il est possible d'entrer les paramètres de la maj puis de l'ajout dans la table de donnée. Le lien entre l'utilisateur et sa maj est fait automatiquement
Showing
7 changed files
with
81 additions
and
15 deletions
Show diff stats
PFE06/src/main/java/com/PFE/ServerManager/Customer.java
@@ -29,9 +29,20 @@ public class Customer{ | @@ -29,9 +29,20 @@ public class Customer{ | ||
29 | @JoinTable(name = "customer_role", joinColumns = @JoinColumn(name = "customer_id"), inverseJoinColumns = @JoinColumn(name = "role_id")) | 29 | @JoinTable(name = "customer_role", joinColumns = @JoinColumn(name = "customer_id"), inverseJoinColumns = @JoinColumn(name = "role_id")) |
30 | private Set<Role> roles; | 30 | private Set<Role> roles; |
31 | 31 | ||
32 | + @ManyToMany(cascade = CascadeType.ALL) | ||
33 | + @JoinTable(name = "customer_maj", joinColumns = @JoinColumn(name = "customer_id"), inverseJoinColumns = @JoinColumn(name = "maj_id")) | ||
34 | + private Set<Maj> maj; | ||
35 | + | ||
32 | public void setRoles(Set<Role> roles) { this.roles = roles; } | 36 | public void setRoles(Set<Role> roles) { this.roles = roles; } |
33 | public Set<Role> getRoles() { return roles; } | 37 | public Set<Role> getRoles() { return roles; } |
34 | 38 | ||
39 | + public void setMaj(Set<Maj> maj) { | ||
40 | + this.maj = maj; | ||
41 | + } | ||
42 | + public Set<Maj> getMaj() { | ||
43 | + return maj; | ||
44 | + } | ||
45 | + | ||
35 | public String getRole(){ | 46 | public String getRole(){ |
36 | return roles.iterator().next().getRole(); | 47 | return roles.iterator().next().getRole(); |
37 | } | 48 | } |
PFE06/src/main/java/com/PFE/ServerManager/MainController.java
@@ -28,6 +28,9 @@ public class MainController { | @@ -28,6 +28,9 @@ public class MainController { | ||
28 | RoleRepository roleRepository; | 28 | RoleRepository roleRepository; |
29 | 29 | ||
30 | @Autowired | 30 | @Autowired |
31 | + MajRepository majRepository; | ||
32 | + | ||
33 | + @Autowired | ||
31 | BCryptPasswordEncoder bCryptPasswordEncoder; | 34 | BCryptPasswordEncoder bCryptPasswordEncoder; |
32 | 35 | ||
33 | @GetMapping(value="/") | 36 | @GetMapping(value="/") |
@@ -193,9 +196,20 @@ public class MainController { | @@ -193,9 +196,20 @@ public class MainController { | ||
193 | } | 196 | } |
194 | 197 | ||
195 | @PostMapping(path="/test") | 198 | @PostMapping(path="/test") |
196 | - public String test() { | ||
197 | - //ModelAndView modelAndView = new ModelAndView(); | ||
198 | - //modelAndView.setViewName("test"); | ||
199 | - return "test"; | 199 | + public ModelAndView addNewUser(@RequestParam String maj, @RequestParam String date, @RequestParam String set1, @RequestParam String set2){ |
200 | + ModelAndView modelAndView = new ModelAndView(); | ||
201 | + modelAndView.setViewName("test"); | ||
202 | + Authentication auth = SecurityContextHolder.getContext().getAuthentication(); | ||
203 | + Customer customer = customerRepository.findByEmail(auth.getName()); | ||
204 | + Maj maj_c = new Maj(); | ||
205 | + maj_c.setMaj(maj); | ||
206 | + maj_c.setDate(date); | ||
207 | + String nodes=set1+';'+set2; | ||
208 | + maj_c.setNodes(nodes); | ||
209 | + maj_c.setMaj_id((int)(majRepository.count() + 1)); | ||
210 | + majRepository.save(maj_c); // ajouter la mise a jour dans la table | ||
211 | + customer.setMaj(new HashSet<Maj>(Arrays.asList(maj_c))); | ||
212 | + customerRepository.save(customer); // permet de rendre effective la jointure entre customer et maj | ||
213 | + return modelAndView; | ||
200 | } | 214 | } |
201 | } | 215 | } |
202 | \ No newline at end of file | 216 | \ No newline at end of file |
PFE06/src/main/java/com/PFE/ServerManager/Maj.java
@@ -16,11 +16,16 @@ public class Maj { | @@ -16,11 +16,16 @@ public class Maj { | ||
16 | @Column(name = "date") | 16 | @Column(name = "date") |
17 | private String date; | 17 | private String date; |
18 | 18 | ||
19 | + /* | ||
19 | @Column(name = "nodes") | 20 | @Column(name = "nodes") |
20 | private String nodes; | 21 | private String nodes; |
21 | 22 | ||
22 | @Column(name = "file") | 23 | @Column(name = "file") |
23 | private String file; | 24 | private String file; |
25 | + */ | ||
26 | + | ||
27 | + @Column(name = "nodes") | ||
28 | + private String nodes; | ||
24 | 29 | ||
25 | public void setMaj_id(Integer maj_id) { this.maj_id = maj_id; } | 30 | public void setMaj_id(Integer maj_id) { this.maj_id = maj_id; } |
26 | public Integer getMaj_id() { return maj_id; } | 31 | public Integer getMaj_id() { return maj_id; } |
@@ -30,6 +35,17 @@ public class Maj { | @@ -30,6 +35,17 @@ public class Maj { | ||
30 | } | 35 | } |
31 | public String getMaj() { return maj; } | 36 | public String getMaj() { return maj; } |
32 | 37 | ||
38 | + public void setDate(String date) { | ||
39 | + this.date = date; | ||
40 | + } | ||
41 | + public String getDate() { | ||
42 | + return date; | ||
43 | + } | ||
33 | 44 | ||
34 | - | 45 | + public void setNodes(String nodes) { |
46 | + this.nodes = nodes; | ||
47 | + } | ||
48 | + public String getNodes() { | ||
49 | + return nodes; | ||
50 | + } | ||
35 | } | 51 | } |
PFE06/src/main/java/com/PFE/ServerManager/MajRepository.java
0 → 100644
@@ -0,0 +1,11 @@ | @@ -0,0 +1,11 @@ | ||
1 | +package com.PFE.ServerManager; | ||
2 | + | ||
3 | +import org.springframework.data.jpa.repository.JpaRepository; | ||
4 | +import org.springframework.stereotype.Repository; | ||
5 | + | ||
6 | +@Repository | ||
7 | +public interface MajRepository extends JpaRepository<Maj, Integer> { | ||
8 | + | ||
9 | + //Customer findByEmail(String email); | ||
10 | + | ||
11 | +} |
PFE06/src/main/resources/templates/home.html
@@ -34,6 +34,7 @@ | @@ -34,6 +34,7 @@ | ||
34 | <a class="dropdown-item" th:href="@{/registration}">Enregistrer des utilisateurs</a> | 34 | <a class="dropdown-item" th:href="@{/registration}">Enregistrer des utilisateurs</a> |
35 | <a class="dropdown-item" th:href="@{/all}">Listes des utilisateurs</a> | 35 | <a class="dropdown-item" th:href="@{/all}">Listes des utilisateurs</a> |
36 | <a class="dropdown-item" th:href="@{/session}">Paramétrer une mise à jour</a> | 36 | <a class="dropdown-item" th:href="@{/session}">Paramétrer une mise à jour</a> |
37 | + <a class="dropdown-item" th:href="@{/test}">test maj</a> | ||
37 | </div> | 38 | </div> |
38 | <div th:case="'USER'"> | 39 | <div th:case="'USER'"> |
39 | <a class="dropdown-item" th:href="@{/session}">Paramétrer une mise à jour</a> | 40 | <a class="dropdown-item" th:href="@{/session}">Paramétrer une mise à jour</a> |
PFE06/src/main/resources/templates/registration.html
@@ -58,7 +58,7 @@ | @@ -58,7 +58,7 @@ | ||
58 | 58 | ||
59 | <form id="Login" th:action="@{/registration}" method="POST"> | 59 | <form id="Login" th:action="@{/registration}" method="POST"> |
60 | <div class="form-group"> | 60 | <div class="form-group"> |
61 | - <input type="text" v-model="user.login" class="form-control" id="username" placeholder="Entrer le pseudo" name="pseudo"> | 61 | + <input type="text" v-model="user.login" class="form-control" id="username" placeholder="Entrer le pseudo" name="email"> |
62 | </div> | 62 | </div> |
63 | <div class="form-group"> | 63 | <div class="form-group"> |
64 | <input type="password" v-model="user.password" class="form-control" id="password" placeholder="Entrer le mot de passe" name="password"> | 64 | <input type="password" v-model="user.password" class="form-control" id="password" placeholder="Entrer le mot de passe" name="password"> |
PFE06/src/main/resources/templates/test.html
1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
2 | +<html xmlns:th="http://www.thymeleaf.org"> | ||
2 | <html lang="en"> | 3 | <html lang="en"> |
3 | -<head> | ||
4 | - <meta charset="UTF-8"> | ||
5 | - <title>Data from js test</title> | ||
6 | -</head> | ||
7 | -<body> | ||
8 | - <div> | ||
9 | - | ||
10 | - </div> | ||
11 | -</body> | 4 | + <head> |
5 | + <meta charset="UTF-8"> | ||
6 | + <title>Data from js test</title> | ||
7 | + </head> | ||
8 | + <body> | ||
9 | + <form id="Login" th:action="@{/test}" method="POST"> | ||
10 | + <div class="form-group"> | ||
11 | + <input type="text" class="form-control" id="maj" placeholder="Entrer le nom de la maj" name="maj"> | ||
12 | + </div> | ||
13 | + <div class="form-group"> | ||
14 | + <input type="text" class="form-control" id="date" placeholder="Entrer la date" name="date"> | ||
15 | + </div> | ||
16 | + <div class="form-group"> | ||
17 | + <input type="text" class="form-control" id="set1" placeholder="set1" name="set1"> | ||
18 | + </div> | ||
19 | + <div class="form-group"> | ||
20 | + <input type="text" class="form-control" id="set2" placeholder="set2" name="set2"> | ||
21 | + </div> | ||
22 | + <button @click.prevent="registration" type="submit" class="btn btn-primary">Ajouter</button> | ||
23 | + </form> | ||
24 | + </body> | ||
12 | </html> | 25 | </html> |
13 | \ No newline at end of file | 26 | \ No newline at end of file |