/** * TODO: Hay que mirar una forma de rellenar los beans mas eficiente, ya que a veces no vendra el * usuario completo, si no solo una parte. * * @param user * @return */ @Override public UserDTO updateAndFlush(UserDTO user, boolean updatePassword, boolean updateRole) { User u = userRepository.findOne(user.getUserId()); u = user.updateEntity(u); if (updatePassword) { if (user.getPassword() != null) if (!passwordEncoder.matches(user.getPassword(), u.getPassword())) { u.setPassword(passwordEncoder.encode(user.getPassword())); } } if (updateRole) { Role rol = roleRepository.findOne(user.getRole().getRoleId()); if (!rol.equals(u.getRole())) { u.setRole(rol); } } u = userRepository.saveAndFlush(u); user.toDTO(u); return user; }