From d664201875d45bb0ae34a6bb132b2d93ce2917bc Mon Sep 17 00:00:00 2001 From: Zastian Pretorius Date: Mon, 29 Aug 2022 19:32:02 +0100 Subject: [PATCH] done bra --- .idea/.gitignore | 3 + .idea/compiler.xml | 18 +++++ .idea/encodings.xml | 6 ++ .idea/jarRepositories.xml | 20 ++++++ .idea/jpa-buddy.xml | 6 ++ .idea/misc.xml | 15 +++++ .idea/vcs.xml | 6 ++ .../config/SecurityConfiguration.java | 7 +- .../springboot/service/UserService.java | 9 +++ .../springboot/service/UserServiceImpl.java | 43 ++++++++++++ .../springboot/web/MainController.java | 52 ++++++++++++++- src/main/resources/templates/admin.html | 25 +++++-- src/main/resources/templates/index.html | 3 +- src/main/resources/templates/update_user.html | 39 +++++++++++ ...ringBootSecurityThymeleafApplication.class | Bin 871 -> 871 bytes .../config/SecurityConfiguration.class | Bin 5353 -> 5464 bytes .../javaguides/springboot/model/Role.class | Bin 1186 -> 1186 bytes .../javaguides/springboot/model/User.class | Bin 3274 -> 3274 bytes .../repository/UserRepository.class | Bin 566 -> 566 bytes .../springboot/service/UserService.class | Bin 370 -> 1005 bytes .../springboot/service/UserServiceImpl.class | Bin 4403 -> 6975 bytes .../springboot/web/MainController.class | Bin 798 -> 2662 bytes .../web/UserRegistrationController.class | Bin 1811 -> 1811 bytes .../web/dto/UserRegistrationDto.class | Bin 1498 -> 1498 bytes target/classes/templates/admin.html | 62 ++++++++++++++++++ target/classes/templates/index.html | 3 +- target/classes/templates/update_user.html | 39 +++++++++++ ...ootSecurityThymeleafApplicationTests.class | Bin 669 -> 669 bytes 28 files changed, 346 insertions(+), 10 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/jpa-buddy.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 src/main/resources/templates/update_user.html create mode 100644 target/classes/templates/admin.html create mode 100644 target/classes/templates/update_user.html diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..c574c3e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..63e9001 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jpa-buddy.xml b/.idea/jpa-buddy.xml new file mode 100644 index 0000000..d08f400 --- /dev/null +++ b/.idea/jpa-buddy.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..12ea664 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/net/javaguides/springboot/config/SecurityConfiguration.java b/src/main/java/net/javaguides/springboot/config/SecurityConfiguration.java index 1417029..35b1788 100644 --- a/src/main/java/net/javaguides/springboot/config/SecurityConfiguration.java +++ b/src/main/java/net/javaguides/springboot/config/SecurityConfiguration.java @@ -41,7 +41,12 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() - .antMatchers("/admin").hasRole("ADMIN") + .antMatchers( + "/admin", + "/deleteEmployee", + "/showFormForUpdate", + "/saveUser") + .hasRole("ADMIN") .antMatchers( "/registration**", "/js/**", diff --git a/src/main/java/net/javaguides/springboot/service/UserService.java b/src/main/java/net/javaguides/springboot/service/UserService.java index 28cbb4b..2c7b786 100644 --- a/src/main/java/net/javaguides/springboot/service/UserService.java +++ b/src/main/java/net/javaguides/springboot/service/UserService.java @@ -1,10 +1,19 @@ package net.javaguides.springboot.service; +import org.springframework.data.domain.Page; import org.springframework.security.core.userdetails.UserDetailsService; import net.javaguides.springboot.model.User; import net.javaguides.springboot.web.dto.UserRegistrationDto; +import java.util.List; + public interface UserService extends UserDetailsService{ User save(UserRegistrationDto registrationDto); + List getAllUsers(); + Page findPaginated(int pageNo, int pageSize, String sortField, String sortDirection); + User getUserById(long id); + void deleteUserById(long id); + void saveUser(User user); + } diff --git a/src/main/java/net/javaguides/springboot/service/UserServiceImpl.java b/src/main/java/net/javaguides/springboot/service/UserServiceImpl.java index f271014..a9f2927 100644 --- a/src/main/java/net/javaguides/springboot/service/UserServiceImpl.java +++ b/src/main/java/net/javaguides/springboot/service/UserServiceImpl.java @@ -2,9 +2,15 @@ package net.javaguides.springboot.service; import java.util.Arrays; import java.util.Collection; +import java.util.List; import java.util.stream.Collectors; +import java.util.Optional; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; @@ -52,5 +58,42 @@ public class UserServiceImpl implements UserService{ private Collection mapRolesToAuthorities(Collection roles){ return roles.stream().map(role -> new SimpleGrantedAuthority(role.getName())).collect(Collectors.toList()); } + + @Override + public Page findPaginated(int pageNo, int pageSize, String sortField, String sortDirection) { + Sort sort = sortDirection.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() : + Sort.by(sortField).descending(); + + Pageable pageable = PageRequest.of(pageNo - 1, pageSize, sort); + return this.userRepository.findAll(pageable); + } + + @Override + public List getAllUsers() { + return userRepository.findAll(); + } + + @Override + public User getUserById(long id) { + Optional optional = userRepository.findById(id); + User user = null; + if (optional.isPresent()) { + user = optional.get(); + } else { + throw new RuntimeException(" Employee not found for id :: " + id); + } + return user; + } + + @Override + public void deleteUserById(long id) { + this.userRepository.deleteById(id); + } + + @Override + public void saveUser(User user) { + this.userRepository.save(user); + } + } diff --git a/src/main/java/net/javaguides/springboot/web/MainController.java b/src/main/java/net/javaguides/springboot/web/MainController.java index d7cc127..97448a8 100644 --- a/src/main/java/net/javaguides/springboot/web/MainController.java +++ b/src/main/java/net/javaguides/springboot/web/MainController.java @@ -1,10 +1,28 @@ package net.javaguides.springboot.web; +import net.javaguides.springboot.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Slice; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; +import java.util.List; +import net.javaguides.springboot.model.User; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; + + +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; + +import net.javaguides.springboot.service.UserService; + @Controller public class MainController { + @Autowired + private UserService userService; @GetMapping("/login") public String login() { @@ -13,11 +31,43 @@ public class MainController { @GetMapping("/") public String home() { + return "index"; } + + @GetMapping("/admin") - public String admin() { + public String admin(Model model) { + List listUsers = userService.getAllUsers(); + model.addAttribute("listUsers", listUsers); + return "admin"; } + @GetMapping("/deleteEmployee/{id}") + public String deleteEmployee(@PathVariable (value = "id") long id) { + + // call delete employee method + this.userService.deleteUserById(id); + return "redirect:/admin"; + } + + @GetMapping("/showFormForUpdate/{id}") + public String showFormForUpdate(@PathVariable ( value = "id") long id, Model model) { + + User user = userService.getUserById(id); + + model.addAttribute("user",user); + return "update_user"; + } + @PostMapping("/saveUser") + public String saveUser(@ModelAttribute("employee") User user) { + // save employee to database + userService.saveUser(user); + return "redirect:/"; + } + + + + } diff --git a/src/main/resources/templates/admin.html b/src/main/resources/templates/admin.html index c96d10d..7e2b6fe 100644 --- a/src/main/resources/templates/admin.html +++ b/src/main/resources/templates/admin.html @@ -37,9 +37,26 @@

-
-

The good shit

- Welcome Admin -
+ + + + + + + + + + + + + + + + + + +
#FirstNameLastNameEmail
Update + Delete +
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 6bfc30f..e2e4b14 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -29,6 +29,7 @@ @@ -41,8 +42,6 @@

Registration and Login with Spring Boot, Spring Security, Thymeleaf, Hibernate and MySQL

Welcome User - diff --git a/src/main/resources/templates/update_user.html b/src/main/resources/templates/update_user.html new file mode 100644 index 0000000..1ec3857 --- /dev/null +++ b/src/main/resources/templates/update_user.html @@ -0,0 +1,39 @@ + + + + +Employee Management System + + + + +
+

Employee Management System

+
+

Update Employee

+ +
+ + + + + + + + + + + + + + +
+ +
+ + Back to User List +
+ + \ No newline at end of file diff --git a/target/classes/net/javaguides/springboot/RegistrationLoginSpringBootSecurityThymeleafApplication.class b/target/classes/net/javaguides/springboot/RegistrationLoginSpringBootSecurityThymeleafApplication.class index 7d874a8959fd74c016cb8b25214220a3e29ad7be..2f799b9e5c840a0663ad16cfc334a7173932d0bc 100644 GIT binary patch delta 207 zcmaFP_MDCP)W2Q(7#J8#7-ZQQm?qkUFtanTOcYlVWMp7*&QD3@Vqj+Ao<3FtC9I*%`PQ7#MiKY*q#y23`gR22KV(27U%6ux2v`kYNlA f972p*I~WAQ5&F3pm>3usxEMetK+KqI&8!0eoo5#) delta 211 zcmaFP_MA=p)W2Q(7#J8#7-YE^m>8JZ8CZB2SQ*$RrYJG9GjL4g4H4jC;9}rrXW-#s z;AP-rWYC&i!z4L5o>6deDPtasbAC$d#OX^WKVZC5&(6Ta00K-5j36Tz7#a8(7#Q>! z7#SED7#LW!wlgqpWME)mVh~_pU|<6avNH%WFfj0d*{lpg48jZy44e!i45AE7V9jO> iAj23KIE2`>b}(>;BlLq@%fP_Jz|O!8HDj_hvkm|u2^d}g diff --git a/target/classes/net/javaguides/springboot/config/SecurityConfiguration.class b/target/classes/net/javaguides/springboot/config/SecurityConfiguration.class index 8e7539f189f6824b4f8d7d2572773e821b545566..9d6c9d3a5c1f6c560ef412dd492302e73a1f4a0d 100644 GIT binary patch delta 1665 zcmaEnw-EV!^Y0Q!pIOi`5}w-Z{v-WW3$Q3%Pg^DWMJ0N3}a+qan4UkksynUQqwbwONtUf;i09)!4M5{Syr(=h#kwwz^93MV&mqze^;T$7WZo|(tR zP|8rw&QLb_KSwAl4?_h*<>U~~O72pIYLG)}7#T95rYKF8;?m?UWvBz$QP0TW1Qi#W z+`uKoVa?FU!_dUgJb4yZB4;Z@J3B)gBZL3shb;D!XY&fM@-TETbWV=oF63xs=;mSQ zVd$KEkz0bLkCDL{obb4KG|VS}0wO0rJ-@Vsi=mfc5-2TCW@Hf6@IjAfYt1k&hE|5D zJPgwqrcch~St~u0k%3nq>>qoW39SsXc^Kv}%$;n=Tg%bPFdyWd=FM3G@{BAiAgM4} zfRTaMv9u&3zbLaRH6^qtXYvO@#d-!s21W*E1_lO31||kp1~vvp26hGpFwMchz`)AD z2+Cv(j11fi3=H}Vj0}t*QLXI^JR2Dp7?>FNpo$q7gc$f47#MgU3K#?!1i^+1F$gm- z!HpDQU;rCr#J~hr$C0y}K{RqZgZKtC!z7UmwlK(UW02R@+Qy)~jX_l#YWgH$@p_OO#URR|#&R$SF=#SqF)%W)FlaOAFfcRd zGB7Z(FfcOcf!*o^HJ%G(oWV8*qi}@Jxxgl=F>o@dgB=VpnG0$%0|OU>CWAQxBZCDf z&=?ss8R|hMYcp7)+rp^AzzR02M|&HC75iQWhe&22r{G8yA(!AtRw1|GNH!sl;B5?E z2N(i`g0?Y)K$S#*lth7)#DJ8_!6m*=}D<{lmlbM%UV#mn9 ztf3jk&cMOQ;4t|iqXRb=13O4PHzR}R zJPe8qN|Wa@W%6<{s4%FqGpK7ehGiAWmj(y1tec$Q(}| z1}~6HISW#Yax+UDb8GPhD%M`f+2v1ArPd5H?g!NBQ>uiGdZy&H3g(B zn1>;RA(WAUIWaGVk-=+n1Gm}aU~VxEO@?qDh6skp$%WkMQqdrn_rkj}{9G`WG> zXmSCs5Qip1CJ#dvL-yn@-bC(PhCFtLd>)1ZhQi4od4nc<@D+08G8FSLlrR)dKFBA* zQpU*O3{DWg_%zHbKwi(uPtPwc;bJIdr~)OfYDNZ84IlKFvDOUZV#sBvCEda$)F+0O_Mh0Po#c-L)2iTG~FB6bwWLz}ap4Djb1`dEkp^6z8gcy1l7#MgU3K)7B`oM-tGDtBn zfi)X3FflOJGcYi4>}Ft(+|Izc0nGqOBm+302Eg3X4>nAZK?!PD6ay33)l$0|xFWYR z@c3wJZDHWu#vrV%wT(f18-uhq!gL`976t|eIR*{}d4_rc1_cHQ21T${Vh|&sR&g*0 zF-%~Xh!g-IOIa8uF-&G)2K&GXYAF}U68UWm%HfDG-~yYa#=yy-j$}3$)NBR@E`|vV zQ$YTo%D}+D!obKdjbR1@0|P4~!vwIvB!-z#TRt+dg3YSc-o~K8vX?<}@B;7ArBr{G9dA(!AtHX%2tl5Gqg+ZenLFj#D3@ZZJ|bbvu~8$*~- z)Ha5gZ45~V>KS6UF{FY8Gg!7U zU|`T@;APNZFksMSFk>)euw*b|aAGiK@L(`u@MSP%2w*T{2xBm3h+(i`NMNvJNMW#I zC}6N=C}pr=s9>;Vs9~^&gi0*LYw%#HWthbFLv8I~|G0sv*;C$j(m diff --git a/target/classes/net/javaguides/springboot/model/Role.class b/target/classes/net/javaguides/springboot/model/Role.class index 1f7cf0fd33a10763b90ed74322436ac8e822bb79..e5f98a22706159bd02a37c87b11bb96d433711be 100644 GIT binary patch delta 657 zcmZ3)xrmeZ)W2Q(7#J8#7_`_Km?pZZi?K7XFfs^aC6*=X=OpH(>-#5Vr6!k5oV;OT zfusT>1Dj1|US^3MBLlOBW*8#_i*tTTDi;GYgD?*RKZC$zcgB1!P6kE>DINx12ENJL z7!AN&c^(E<2DZu17?;*FGB7hRFfcJNfkYS>8Q2*Z7z7!Z7&sUh7(hC?QW>}zco>*K z`WYA)*ccc=1~V`+2r@7*7&9<3FfuSOuxf2*5ZVYfM}&cafs28Ofq_AYfrUYYL6m`k zfd`_9L5xA1fdOoQ1OpS;0JnOu)eH<=AQQB-w=zf~jNt=2O`L&+L4tvkK@x0~7}#ho zs8JxRcp3N@7#XBNu3%)~1)DF!APaS%KHPy@800p<9SHIT1A`2MC__D_>l7Fip{}!o zI*twGFgb+7ApVnQU}aE1augffQEbq#ggS~9>?kD$Wh{=Wmqd4!64*%eAX8z01sRH? ykU|UMC{+el1~sq=kdQ)l6h=rfF{px^$i$!qj&^8JZ8CZB2SQ*$D83eKt%M$f-67$ma{gbj%lS>#G z*laTMGE3|j8JIOR!#Ei@7&zG(xOf=28F(i0s;eDKRKx zaa27!x~r7HMxqCq3Ii<2P#lF6S`bI6GO#kJflYvf6tbf*LW+q&6%-*%3~JzL=VxGI RP-kFZ&|qL>;4Ws+1OU=;IEnxO diff --git a/target/classes/net/javaguides/springboot/model/User.class b/target/classes/net/javaguides/springboot/model/User.class index 57b7ce2bf4aae44caff51debc5ad482c777015fb..74ab5fa5c0f7ae12dc85f3f1102c342ffb900796 100644 GIT binary patch literal 3274 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 JE{b7b007TtefR(X delta 469 zcmaDRGLKFC)W2Q(7#J8#805Jam>8JZ8CZB2SQ*$R+KU>p*<|Krme?^eFl%UraWHT& zGO*_4r)TDIFmN$4ux93^q*ib+@Gvs4CZ^Ss8>Fgc%qZ7#TPiL>QRB znsuR?nT6OlplRhs(#j0dTF=11Aj-hNz{kMIAjZJRARf)YSj-^7z{ntp#XL@Q^90b% o!)lxq10w?u7UQ@#FnFVSO_V6}q#2kPWWYX?1v?%TEOHDC0J>=_C;$Ke diff --git a/target/classes/net/javaguides/springboot/web/UserRegistrationController.class b/target/classes/net/javaguides/springboot/web/UserRegistrationController.class index 2498ebad6b0769b32c54a26909c31121d5532095..c737d78d1c092358ab984b4e162fe0eb72422c6a 100644 GIT binary patch delta 619 zcmbQtH3x>CZA`Po1DocCC1Lc!pIMh0dL%`i>|Mg~3}237{P&5}%J zjBM--(u@qIlg~4ovT`vp`zXHFI3U{GXa;3-N?&nzw}N-W9D&zro3IgQbDvLdVI z9NY}*44Ui=8j}?m4On>?v>3D}2QX$c>Q3Ins61JU#b@$imX-C449pA+42%p+ zAln!i7+4q>8Q2*(7?>D185kJc7?>EC7#JA1w6-&FX=!g|;N8f;z`(@7&%nUI2i7UV zz``KPz{w!SAi%)DAO=y*AjlxZ00LZKQyCeA85kH?85vl?R*5i(GB7cSF)%Q2Gt@IO zh%+!UNE9M35?Z z1_rQMx(tk9b<9Ev=*GyyjHzc}U|@!uqr{-hzyfv|$Q%_01_o6I22iA+xe^vEd|F!= zc(r#js4+2w3+W&%;Q|MP3IjKTD%c`Ou<$|c0R^2NgFXW&ShT?5q6hY+0hlxd+b_hx T#9+k0z+emtoM;BdVg?fcj08VC delta 615 zcmbQtH<{1v)W2Q(7#J8#7)-esm>8JZ8CZB2SQ*$D83eKt%M$f-67$ma{gbj%lS>#G z*laTMGE3|j8JIOR!#Ei@7&zG(xOf=28F(i0T2G8~U}IgBXK2BZKb50^P|kn6nurCx@^oGZ|@2 z%-84C3}a+qan4Uk-T2pxadI(J>f~2UX_L!Yd?p7lM^8S;vbvswfr){Efsug;WIY1| z0}BHq11p0R0~3QZ0|SE_0~1)DOKUp=qn7qo2KJ2%3=B*RG7Jn1d<@JC3=AR+EDWLy zoD5-3+{u z+Zp&bz)fcZi%Wq`77{== zOCHHAW|&#^3=9k)t2Dtb(_+wOU_tRXpVk%zcI}-ELQD+dLJ|lgL6OYBpu)h-pb9n? z;&DExv7o@wVF0-W>Tw+g1_qG3L00K8FfiydFfj0dT&e~41rvh-*z<;9g+dHW3`PtL P48|Z&Ml&!LGnfDX%_u?A diff --git a/target/classes/net/javaguides/springboot/web/dto/UserRegistrationDto.class b/target/classes/net/javaguides/springboot/web/dto/UserRegistrationDto.class index d6c944408a4705a26faf928035fab19a837646a4..b43d61c0127b5e4b81b97b5e0b17476d51f618f9 100644 GIT binary patch literal 1498 zcmX^0Z`VEs1_l!bO?Cz*Mh4To)Dr!y#InTn(#(|9V*TQRqRhPXr2PC6{qoc#{gje? z{m|mnqM+3D%;J)w#FEVXJeQJub_Nzk1_6*Z{hY+SbbbG%tkmQZMh4Eb%%b8Fzr@^B zMg}1tgnV!b$W&`a29BIWm^^E0ZenH*BLhc4VsUYKeo+b|1Dj1|US^3MBLlOBW*8#_ zi*tTTDi;GY10N3q7XvpV1HVsZUaDVdZc=JdNMceB*pmF@#GJ6iqD&AUD#%ijky*^h zVD3Yf->exKyfrZ0PM(Nn7$*ZGgD4LJD+3#dCC8T}dh#(cw(8P2GBLhz{iYieot_KAtcY11x4?Os}i;;O8 z>8T~I(D*2ZGeJ56;IRYJf#7ik=a&{Gr@Cc=qCo;n8qotqKZ7CzBLg!70|N^K6DSNA z7#Ns9ApoX17}&rxCz$49U<-1ThWh+qV}kChSZK1K#btZouR zcasd*M07VPVRw@lx|`$~SQ!++CSbaW9UP*dFk@w80EHJLgECe(Nuaw)32Y*|n^ds7 zNdnzXstl|QYG4yE-2_UY@NfdfA0vY*RyRqZyGa9VBD$N@u)7HCs z7+4sXKBf@v-WMo>azU}O+uU|=w2U}RuqU|?X?+RnhZ5v)v{ zfq?;(W*Hbb8CV#&86+4O7B@q^LyTlF)}D)b&~+P zo0PyNqPs~2yPE{i-K5IE%Af`|0n<&O1j-1GM^;8~{4p}9Vs(=+x|=k>CZfAZ4ZE9= eQX(Yov>8|#bigKHx(Sq7;BJDXCv|Yb(EtE@DdOe; diff --git a/target/classes/templates/admin.html b/target/classes/templates/admin.html new file mode 100644 index 0000000..7e2b6fe --- /dev/null +++ b/target/classes/templates/admin.html @@ -0,0 +1,62 @@ + + + + +Registration and Login App + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + +
#FirstNameLastNameEmail
Update + Delete +
+ + diff --git a/target/classes/templates/index.html b/target/classes/templates/index.html index 6bfc30f..e2e4b14 100644 --- a/target/classes/templates/index.html +++ b/target/classes/templates/index.html @@ -29,6 +29,7 @@ @@ -41,8 +42,6 @@

Registration and Login with Spring Boot, Spring Security, Thymeleaf, Hibernate and MySQL

Welcome User - diff --git a/target/classes/templates/update_user.html b/target/classes/templates/update_user.html new file mode 100644 index 0000000..1ec3857 --- /dev/null +++ b/target/classes/templates/update_user.html @@ -0,0 +1,39 @@ + + + + +Employee Management System + + + + +
+

Employee Management System

+
+

Update Employee

+ +
+ + + + + + + + + + + + + + +
+ +
+ + Back to User List +
+ + \ No newline at end of file diff --git a/target/test-classes/net/javaguides/springboot/RegistrationLoginSpringBootSecurityThymeleafApplicationTests.class b/target/test-classes/net/javaguides/springboot/RegistrationLoginSpringBootSecurityThymeleafApplicationTests.class index 44426f2261a02909aebc9c0cd799a4199ddb739f..e6cb60cfa095a5d998c67c55c15cc5e69598b242 100644 GIT binary patch delta 130 zcmbQsI+vCA)W2Q(7#J8#7)00^m?qjpGP5(VOcYlVWMp7*&QD3@Vqj+A3v9VhoH7>8JZ8CZB2SQ*$RW-2kWGjL4gjbvwJU~$e*N!>Un zfl-;Afr$YGKqM;z8v`Q)Cj$e6J_92IBLf2itJZb~#>w(bI*go?BbW>n`573%Y6KV< R7?>CY!K4raOjMYG0RaBM4rl-X