Commit c1d2852e126d62873e8cc8e86fad1d47b0df5959

Authored by Zak
1 parent 716532ee

Ajout css

src/main/java/fr/plil/sio/web/mvc/ApplicationSecurityConfiguration.java
@@ -29,6 +29,7 @@ public class ApplicationSecurityConfiguration extends WebSecurityConfigurerAdapt @@ -29,6 +29,7 @@ public class ApplicationSecurityConfiguration extends WebSecurityConfigurerAdapt
29 .authorizeRequests() 29 .authorizeRequests()
30 .antMatchers("/webjars/**").permitAll() 30 .antMatchers("/webjars/**").permitAll()
31 .antMatchers("/js/**").permitAll() 31 .antMatchers("/js/**").permitAll()
  32 + .antMatchers("/css/**").permitAll()
32 .anyRequest().authenticated() 33 .anyRequest().authenticated()
33 .and() 34 .and()
34 .formLogin() 35 .formLogin()
src/main/java/fr/plil/sio/web/mvc/Dette.java
1 package fr.plil.sio.web.mvc; 1 package fr.plil.sio.web.mvc;
2 2
  3 +import com.fasterxml.jackson.annotation.JsonManagedReference;
3 import java.util.Objects; 4 import java.util.Objects;
4 import javax.persistence.*; 5 import javax.persistence.*;
5 6
@@ -16,9 +17,11 @@ public class Dette { @@ -16,9 +17,11 @@ public class Dette {
16 17
17 18
18 @ManyToOne(optional = false) 19 @ManyToOne(optional = false)
  20 + @JsonManagedReference
19 private User creditor; 21 private User creditor;
20 22
21 @ManyToOne(optional = false) 23 @ManyToOne(optional = false)
  24 + @JsonManagedReference
22 private User borrower; 25 private User borrower;
23 26
24 @Override 27 @Override
src/main/java/fr/plil/sio/web/mvc/User.java
1 package fr.plil.sio.web.mvc; 1 package fr.plil.sio.web.mvc;
2 2
3 3
  4 +import com.fasterxml.jackson.annotation.JsonBackReference;
4 import com.fasterxml.jackson.annotation.JsonManagedReference; 5 import com.fasterxml.jackson.annotation.JsonManagedReference;
5 import java.util.ArrayList; 6 import java.util.ArrayList;
6 import org.springframework.security.core.GrantedAuthority; 7 import org.springframework.security.core.GrantedAuthority;
@@ -27,8 +28,9 @@ public class User implements UserDetails { @@ -27,8 +28,9 @@ public class User implements UserDetails {
27 @Column(name = "PASSWORD_F") 28 @Column(name = "PASSWORD_F")
28 private String password; 29 private String password;
29 30
30 - @OneToMany(mappedBy="holderOfDebt",cascade = CascadeType.REMOVE)  
31 - private List<Dette> dettes = new ArrayList<Dette>(); 31 + @OneToMany(mappedBy="borrower",cascade = CascadeType.REMOVE)
  32 + @JsonBackReference
  33 + private List<Dette> dettes = new ArrayList<>();
32 34
33 public List<Dette> getDettes() { 35 public List<Dette> getDettes() {
34 return dettes; 36 return dettes;
src/main/java/fr/plil/sio/web/mvc/UserServiceImpl.java
@@ -14,6 +14,9 @@ public class UserServiceImpl implements UserService { @@ -14,6 +14,9 @@ public class UserServiceImpl implements UserService {
14 14
15 @Resource 15 @Resource
16 private UserRepository userRepository; 16 private UserRepository userRepository;
  17 +
  18 + @Resource
  19 + private DetteRepository detteRepository;
17 20
18 @Resource 21 @Resource
19 private RoleRepository roleRepository; 22 private RoleRepository roleRepository;
@@ -47,8 +50,8 @@ public class UserServiceImpl implements UserService { @@ -47,8 +50,8 @@ public class UserServiceImpl implements UserService {
47 @Transactional(readOnly = true) 50 @Transactional(readOnly = true)
48 public List<Dette> findDettes() { 51 public List<Dette> findDettes() {
49 String username = securityService.findLoggedInUsername(); 52 String username = securityService.findLoggedInUsername();
50 - List<Dette> dettes = userRepository.findByUsername(username).getDettes();  
51 - return dettes; 53 + User user = userRepository.findByUsername(username);
  54 + return detteRepository.findByBorrower(user);
52 } 55 }
53 56
54 @Override 57 @Override
@@ -61,22 +64,19 @@ public class UserServiceImpl implements UserService { @@ -61,22 +64,19 @@ public class UserServiceImpl implements UserService {
61 @Transactional 64 @Transactional
62 public Dette addDette(String username, String sommeDette) { 65 public Dette addDette(String username, String sommeDette) {
63 //Get the holder of debt 66 //Get the holder of debt
64 -// User user = userRepository.findByUsername(username);  
65 -//  
66 -// //Get connected user  
67 -// // Authentication auth = SecurityContextHolder.getContext().getAuthentication();  
68 -// String connectedUsername = securityService.findLoggedInUsername();  
69 -// User connectedUser = userRepository.findByUsername(connectedUsername);  
70 -// //Set dette  
71 -// List<Dette> newDettes = user.getDettes();  
72 -// Dette d = new Dette();  
73 -// Double dSomme = Double.parseDouble(sommeDette);  
74 -// d.setSommeDette(dSomme);  
75 -// d.setHolderOfDebt(connectedUser);  
76 -// d.setDueToUser(user);  
77 -// newDettes.add(d);  
78 -  
79 - return new Dette(); 67 + User user = userRepository.findByUsername(username);
  68 +
  69 + String connectedUsername = securityService.findLoggedInUsername();
  70 + User connectedUser = userRepository.findByUsername(connectedUsername);
  71 +
  72 + Dette d = new Dette();
  73 + Double dSomme = Double.parseDouble(sommeDette);
  74 + d.setSommeDette(dSomme);
  75 + d.setBorrower(connectedUser);
  76 + d.setCreditor(user);
  77 +
  78 + detteRepository.save(d);
  79 + return d;
80 } 80 }
81 81
82 } 82 }
src/main/webapp/WEB-INF/pages/header.jsp
@@ -5,5 +5,7 @@ @@ -5,5 +5,7 @@
5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <meta name="viewport" content="width=device-width, initial-scale=1">
7 <title><%= request.getAttribute("pageTitle") %></title> 7 <title><%= request.getAttribute("pageTitle") %></title>
  8 + <link href="/webjars/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
  9 + <link href="/css/kawafile.css" rel="stylesheet"/>
8 </head> 10 </head>
9 <a href="login.jsp"></a> 11 <a href="login.jsp"></a>
10 \ No newline at end of file 12 \ No newline at end of file
src/main/webapp/WEB-INF/pages/login.jsp
@@ -6,19 +6,36 @@ @@ -6,19 +6,36 @@
6 </jsp:include> 6 </jsp:include>
7 7
8 <c:url value="/login" var="loginUrl"/> 8 <c:url value="/login" var="loginUrl"/>
9 -<form action="${loginUrl}" method="post">  
10 - <b><c:out value="${message}"></c:out></b>  
11 - <p>  
12 - <label for="username">Username</label>  
13 - <input type="text" id="username" name="username"/>  
14 - </p>  
15 - <p>  
16 - <label for="password">Password</label>  
17 - <input type="password" id="password" name="password"/>  
18 - </p>  
19 - <input type="hidden"  
20 - name="${_csrf.parameterName}"  
21 - value="${_csrf.token}"/>  
22 - <button type="submit" class="btn">Log in</button>  
23 -</form> 9 +
  10 +
  11 +<div class="container-fluid"/>
  12 +
  13 +
  14 +<h1 class="name">CONNEXION</h1>
  15 + <div class="panel panel-info signInForm ">
  16 + <div class="panel-body">
  17 + <form action="${loginUrl}" method="post" >
  18 + <b><c:out value="${message}"></c:out></b>
  19 + <div class="form-group">
  20 + <label for="username">Username</label>
  21 + <input class="form-control" type="text" id="username" name="username"/>
  22 + </div>
  23 + <div class="form-group">
  24 + <label for="password">Password</label>
  25 + <input class="form-control" type="password" id="password" name="password"/>
  26 + </div>
  27 + <input type="hidden"
  28 + name="${_csrf.parameterName}"
  29 + value="${_csrf.token}"/>
  30 + <div class="text-center">
  31 + <button type="submit" class="btn btn-info">Log in</button>
  32 + </div>
  33 + </form>
  34 + </div>
  35 + </div>
  36 +
  37 +
  38 +</div>
  39 +
  40 +
24 <jsp:include page="footer.jsp"/> 41 <jsp:include page="footer.jsp"/>
25 \ No newline at end of file 42 \ No newline at end of file
src/main/webapp/css/kawafile.css 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +body{
  2 + background-color:#9cd2d2;
  3 +}
  4 +.signInForm {
  5 + width:500px;
  6 + height:250px;
  7 + position: absolute;
  8 + top:-150px;
  9 + bottom: 0;
  10 + left: 0;
  11 + right: 0;
  12 +
  13 + margin: auto;
  14 +}
  15 +
  16 +.name{
  17 + display: block;
  18 + font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
  19 + text-transform: uppercase;
  20 + font-weight: 700;
  21 + font-size: 3.5em;
  22 +
  23 + text-align:center;
  24 + color:white;
  25 + margin-top:200px;
  26 +}
0 \ No newline at end of file 27 \ No newline at end of file
src/main/webapp/js/kawafile.js
@@ -6,11 +6,13 @@ function getDebtsOfUser(){ @@ -6,11 +6,13 @@ function getDebtsOfUser(){
6 $.getJSON(url,function(d){ 6 $.getJSON(url,function(d){
7 html+="<ul>"; 7 html+="<ul>";
8 $.each(d,function(index,item){ 8 $.each(d,function(index,item){
9 - html+="<li>"+item.holderOfDebt.username+"</li>"; 9 + html+="<li>"+item.creditor.username+"</li>";
10 html+="<li>"+item.sommeDette+"</li>"; 10 html+="<li>"+item.sommeDette+"</li>";
11 }); 11 });
12 - }); 12 + html+="</ul>";
13 $("#dettes").html(html); 13 $("#dettes").html(html);
  14 + });
  15 +
14 } 16 }
15 17
16 function updateDebtOfUser(){ 18 function updateDebtOfUser(){
@@ -42,16 +44,18 @@ function updateDebtOfUser(){ @@ -42,16 +44,18 @@ function updateDebtOfUser(){
42 url:url, 44 url:url,
43 method:"POST", 45 method:"POST",
44 data:requestData, 46 data:requestData,
45 - async:false,  
46 - }).done(function(d){  
47 - alert("Ok");  
48 - getDebtsOfUser(); 47 + async:false
  48 + }).done(function(d){
  49 + console.log(d);
49 }).success(function(d){ 50 }).success(function(d){
50 - getDebtsOfUser(); 51 + console.log("Succes");
  52 + console.log(d);
51 }).fail(function(d){ 53 }).fail(function(d){
52 alert("Erreur"); 54 alert("Erreur");
  55 + console.log("Fail");
  56 + console.log(d);
53 }); 57 });
54 - getDebtsOfUser(); 58 + //getDebtsOfUser();
55 } 59 }
56 60
57 61