| 
															
																@@ -3,12 +3,10 @@ package com.server.alb.controllers 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.server.alb.models.* 
															 | 
															
															 | 
															
																 import com.server.alb.models.* 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.server.alb.repositories.* 
															 | 
															
															 | 
															
																 import com.server.alb.repositories.* 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.server.alb.services.BugService 
															 | 
															
															 | 
															
																 import com.server.alb.services.BugService 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-import com.server.alb.services.BugValidationService.Companion.isValid 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.server.alb.services.ProjectService 
															 | 
															
															 | 
															
																 import com.server.alb.services.ProjectService 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.server.alb.services.UserService 
															 | 
															
															 | 
															
																 import com.server.alb.services.UserService 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import jakarta.servlet.http.HttpServletRequest 
															 | 
															
															 | 
															
																 import jakarta.servlet.http.HttpServletRequest 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import jakarta.validation.Valid 
															 | 
															
															 | 
															
																 import jakarta.validation.Valid 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-import jakarta.validation.Validator 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import org.springframework.security.authentication.AnonymousAuthenticationToken 
															 | 
															
															 | 
															
																 import org.springframework.security.authentication.AnonymousAuthenticationToken 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import org.springframework.security.core.Authentication 
															 | 
															
															 | 
															
																 import org.springframework.security.core.Authentication 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import org.springframework.security.core.context.SecurityContextHolder 
															 | 
															
															 | 
															
																 import org.springframework.security.core.context.SecurityContextHolder 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -32,13 +30,13 @@ class BugController( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     private val bugService: BugService, 
															 | 
															
															 | 
															
																     private val bugService: BugService, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     private val userService: UserService, 
															 | 
															
															 | 
															
																     private val userService: UserService, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     private val projectService: ProjectService, 
															 | 
															
															 | 
															
																     private val projectService: ProjectService, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    private val passwordEncoder: PasswordEncoder, 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    private val validator: Validator 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    private val passwordEncoder: PasswordEncoder 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 ) { 
															 | 
															
															 | 
															
																 ) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     val qcResultType = Status.QCResultType.values() 
															 | 
															
															 | 
															
																     val qcResultType = Status.QCResultType.values() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     val worList = Status.WorkedType.values() 
															 | 
															
															 | 
															
																     val worList = Status.WorkedType.values() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     val wStList = Status.WorkedStatusType.values() 
															 | 
															
															 | 
															
																     val wStList = Status.WorkedStatusType.values() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     val dStList = Status.DevStatusType.values() 
															 | 
															
															 | 
															
																     val dStList = Status.DevStatusType.values() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    var global:String = "" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																     private fun getProject(): MutableList<Project> { 
															 | 
															
															 | 
															
																     private fun getProject(): MutableList<Project> { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return this.projectRepository.findAll() 
															 | 
															
															 | 
															
																         return this.projectRepository.findAll() 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -67,6 +65,7 @@ class BugController( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     @GetMapping(value = ["/reg"]) 
															 | 
															
															 | 
															
																     @GetMapping(value = ["/reg"]) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     fun showRegister(model: Model): String { 
															 | 
															
															 | 
															
																     fun showRegister(model: Model): String { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         val userRole = UserRole() 
															 | 
															
															 | 
															
																         val userRole = UserRole() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        userRole.oldPass = "***" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         model.addAttribute("userRole", userRole) 
															 | 
															
															 | 
															
																         model.addAttribute("userRole", userRole) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         model.addAttribute("role", getRole()) 
															 | 
															
															 | 
															
																         model.addAttribute("role", getRole()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return "reg" 
															 | 
															
															 | 
															
																         return "reg" 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -82,7 +81,6 @@ class BugController( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         newUser.password = passwordEncoder.encode(userRole.password) 
															 | 
															
															 | 
															
																         newUser.password = passwordEncoder.encode(userRole.password) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         newUser.roles = userRole.role 
															 | 
															
															 | 
															
																         newUser.roles = userRole.role 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         newUser.isEnabled = true 
															 | 
															
															 | 
															
																         newUser.isEnabled = true 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        println(newUser) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return if (bindingResult.hasErrors()) { 
															 | 
															
															 | 
															
																         return if (bindingResult.hasErrors()) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             model.addAttribute("role", getRole()) 
															 | 
															
															 | 
															
																             model.addAttribute("role", getRole()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             "reg" 
															 | 
															
															 | 
															
																             "reg" 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -95,7 +93,11 @@ class BugController( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																     @RequestMapping(value = ["/userList"]) 
															 | 
															
															 | 
															
																     @RequestMapping(value = ["/userList"]) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     fun viewUser(model: Model): String { 
															 | 
															
															 | 
															
																     fun viewUser(model: Model): String { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        val myUserDetails = SecurityContextHolder.getContext().authentication.name 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        val userLogin = userRepository.findByUsername(myUserDetails) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        val user2 = userService[userLogin.get().id] 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         model.addAttribute("user", getUser()) 
															 | 
															
															 | 
															
																         model.addAttribute("user", getUser()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        model.addAttribute("user2", user2) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return "userList" 
															 | 
															
															 | 
															
																         return "userList" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     } 
															 | 
															
															 | 
															
																     } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -120,7 +122,6 @@ class BugController( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         model: Model, 
															 | 
															
															 | 
															
																         model: Model, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     ): String { 
															 | 
															
															 | 
															
																     ): String { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return if (bindingResult.hasErrors()) { 
															 | 
															
															 | 
															
																         return if (bindingResult.hasErrors()) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            println(project) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             "add_proj" 
															 | 
															
															 | 
															
																             "add_proj" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         } else { 
															 | 
															
															 | 
															
																         } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             projectRepository.save(project) 
															 | 
															
															 | 
															
																             projectRepository.save(project) 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -187,8 +188,6 @@ class BugController( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 bug.qcId = userLogin.get() 
															 | 
															
															 | 
															
																                 bug.qcId = userLogin.get() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             } 
															 | 
															
															 | 
															
																             } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         } 
															 | 
															
															 | 
															
																         } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        println(bug) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        println(bindingResult) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return if (bindingResult.hasErrors()) { 
															 | 
															
															 | 
															
																         return if (bindingResult.hasErrors()) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             model.addAttribute("user", getUser()) 
															 | 
															
															 | 
															
																             model.addAttribute("user", getUser()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             model.addAttribute("platform", getPlatform()) 
															 | 
															
															 | 
															
																             model.addAttribute("platform", getPlatform()) 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -202,34 +201,37 @@ class BugController( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         } 
															 | 
															
															 | 
															
																         } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     } 
															 | 
															
															 | 
															
																     } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    @RequestMapping(value = ["/save"], method = [RequestMethod.POST]) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    @PostMapping(value = ["/save"]) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     fun saveBug( 
															 | 
															
															 | 
															
																     fun saveBug( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         @Valid @ModelAttribute("bug") bug: ListBug, 
															 | 
															
															 | 
															
																         @Valid @ModelAttribute("bug") bug: ListBug, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        bindingResult: BindingResult, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         redirectAttributes: RedirectAttributes, 
															 | 
															
															 | 
															
																         redirectAttributes: RedirectAttributes, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        result: BindingResult, 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        request: HttpServletRequest, 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        httpServletRequest: HttpServletRequest, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        @RequestParam page: String, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        model: Model, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     ): String { 
															 | 
															
															 | 
															
																     ): String { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        val referer: String = request.getHeader("Referer") 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        val url = referer.split("=") 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        if (bug.qcId == null) { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            val myUserDetails = SecurityContextHolder.getContext().authentication.name 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            val userLogin = userRepository.findByUsername(myUserDetails) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            if (userLogin.isPresent) { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                bug.qcId = userLogin.get() 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        val successMessage: String = if (isValid(bug)) { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            bugService.save(bug) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            "Success save bug" 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        } else { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            "Failed ! Please try again" 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        if (bindingResult.hasErrors()) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("listQc", getUser()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("listPro", getUser()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("platform", getPlatform()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("bug", bug) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("worList", worList) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("wStList", wStList) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("dStList", dStList) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("qcResultType", qcResultType) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            return "edit_bug" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         } 
															 | 
															
															 | 
															
																         } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        redirectAttributes.addFlashAttribute("successMessage", successMessage) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        return if (referer.endsWith("=index")) "redirect:/" + url.last() else "redirect:/" + url.last() 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        bugService.save(bug) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        redirectAttributes.addFlashAttribute("successMessage", "Success save bug") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return "redirect:/$global" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     } 
															 | 
															
															 | 
															
																     } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    @RequestMapping(value = ["/saveUser"], method = [RequestMethod.POST]) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    fun saveUserEdit(@Valid @ModelAttribute("userRole") userRole: UserRole): String { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    @PostMapping(value = ["/saveUser"]) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    fun saveUserEdit( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        @Valid @ModelAttribute("userRole") userRole: UserRole, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        bindingResult: BindingResult, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        model: Model 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    ): String { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         val existUser = userService[userRole.id] 
															 | 
															
															 | 
															
																         val existUser = userService[userRole.id] 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         val editUser = User() 
															 | 
															
															 | 
															
																         val editUser = User() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         editUser.id = userRole.id 
															 | 
															
															 | 
															
																         editUser.id = userRole.id 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -237,14 +239,55 @@ class BugController( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         editUser.password = passwordEncoder.encode(userRole.password) 
															 | 
															
															 | 
															
																         editUser.password = passwordEncoder.encode(userRole.password) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         editUser.roles = userRole.role 
															 | 
															
															 | 
															
																         editUser.roles = userRole.role 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         editUser.isEnabled = true 
															 | 
															
															 | 
															
																         editUser.isEnabled = true 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        if (userService.checkIfValidOldPassword(userRole.oldPass, existUser.password)) { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            userService.save(editUser) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        if (bindingResult.hasErrors()) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            return "edit_user" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         } 
															 | 
															
															 | 
															
																         } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        userService.save(editUser) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return "redirect:/userList" 
															 | 
															
															 | 
															
																         return "redirect:/userList" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     } 
															 | 
															
															 | 
															
																     } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    @RequestMapping(value = ["/saveProj"], method = [RequestMethod.POST]) 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    fun saveProjEdit(@Valid @ModelAttribute("project") project: Project): String { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    @PostMapping(value = ["/chgPass"]) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    fun saveChangePass( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        @Valid @ModelAttribute("userRole") userRole: UserRole, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        bindingResult: BindingResult, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        model: Model, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        redirectAttributes: RedirectAttributes 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    ): String { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        val existUser = userService[userRole.id] 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        val editUser = User() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        editUser.id = userRole.id 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        editUser.username = userRole.username 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        editUser.password = passwordEncoder.encode(userRole.password) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        editUser.roles = existUser.roles 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        editUser.isEnabled = true 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        userRole.role = existUser.roles 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        if (bindingResult.hasErrors()) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("userRole", userRole) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("role", getRole()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            return "change_pass" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        if (!userService.checkIfValidOldPassword(userRole.oldPass, existUser.password)) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("userRole", userRole) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            model.addAttribute("role", getRole()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            redirectAttributes.addFlashAttribute("successMessage", "old password not match") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            return "redirect:/userList/chgPass/" + userRole.id 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        userService.save(editUser) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        redirectAttributes.addFlashAttribute("successMessage", "Success save user") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return "redirect:/userList" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    @PostMapping(value = ["/saveProj"]) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    fun saveProjEdit( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        @Valid @ModelAttribute("project") project: Project, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        bindingResult: BindingResult, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        model: Model, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        redirectAttributes: RedirectAttributes 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    ): String { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        if (bindingResult.hasErrors()){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            return "edit_proj" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        redirectAttributes.addFlashAttribute("successMessage", "Success save project") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         projectService.save(project) 
															 | 
															
															 | 
															
																         projectService.save(project) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return "redirect:/proj" 
															 | 
															
															 | 
															
																         return "redirect:/proj" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     } 
															 | 
															
															 | 
															
																     } 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -254,6 +297,7 @@ class BugController( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         @PathVariable(name = "id") id: Long, 
															 | 
															
															 | 
															
																         @PathVariable(name = "id") id: Long, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         @RequestParam page: String, 
															 | 
															
															 | 
															
																         @RequestParam page: String, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     ): ModelAndView { 
															 | 
															
															 | 
															
																     ): ModelAndView { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        global = page 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         val mav = ModelAndView("edit_bug") 
															 | 
															
															 | 
															
																         val mav = ModelAndView("edit_bug") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         val bug: ListBug = bugService[id] 
															 | 
															
															 | 
															
																         val bug: ListBug = bugService[id] 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         mav.addObject("listQc", getUser()) 
															 | 
															
															 | 
															
																         mav.addObject("listQc", getUser()) 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -276,6 +320,21 @@ class BugController( 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         userRole.username = user.username 
															 | 
															
															 | 
															
																         userRole.username = user.username 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         userRole.password = user.password 
															 | 
															
															 | 
															
																         userRole.password = user.password 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         userRole.role = user.roles 
															 | 
															
															 | 
															
																         userRole.role = user.roles 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        userRole.oldPass = "***" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        mav.addObject("userRole", userRole) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        mav.addObject("role", getRole()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return mav 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    @RequestMapping("/userList/chgPass/{id}") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    fun changePass(@PathVariable(name = "id") id: Long): ModelAndView { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        val mav = ModelAndView("change_pass") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        val user: User = userService[id] 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        val userRole = UserRole() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        userRole.id = user.id 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        userRole.username = user.username 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        userRole.password = user.password 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        userRole.role = user.roles 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         mav.addObject("userRole", userRole) 
															 | 
															
															 | 
															
																         mav.addObject("userRole", userRole) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         mav.addObject("role", getRole()) 
															 | 
															
															 | 
															
																         mav.addObject("role", getRole()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         return mav 
															 | 
															
															 | 
															
																         return mav 
															 |