diff -r 3d16ad54b3dc -r 0a658e53177c src/main/java/de/uapcore/lightpit/modules/UsersModule.java --- a/src/main/java/de/uapcore/lightpit/modules/UsersModule.java Sat May 30 18:12:38 2020 +0200 +++ b/src/main/java/de/uapcore/lightpit/modules/UsersModule.java Mon Jun 01 14:46:58 2020 +0200 @@ -32,6 +32,8 @@ import de.uapcore.lightpit.*; import de.uapcore.lightpit.dao.DataAccessObjects; import de.uapcore.lightpit.entities.User; +import de.uapcore.lightpit.viewmodel.UsersEditView; +import de.uapcore.lightpit.viewmodel.UsersView; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,7 +59,9 @@ public ResponseType index(HttpServletRequest req, DataAccessObjects dao) throws SQLException { final var userDao = dao.getUserDao(); - req.setAttribute("users", userDao.list()); + final var viewModel = new UsersView(); + viewModel.setUsers(userDao.list()); + setViewModel(req, viewModel); setContentPage(req, "users"); return ResponseType.HTML; @@ -66,9 +70,11 @@ @RequestMapping(requestPath = "edit", method = HttpMethod.GET) public ResponseType edit(HttpServletRequest req, DataAccessObjects dao) throws SQLException { - req.setAttribute("user", findByParameter(req, Integer.class, "id", + final var viewModel = new UsersEditView(); + viewModel.setUser(findByParameter(req, Integer.class, "id", dao.getUserDao()::find).orElse(new User(-1))); + setViewModel(req, viewModel); setContentPage(req, "user-form"); return ResponseType.HTML; @@ -92,8 +98,10 @@ LOG.debug("Successfully updated user {}", user.getUsername()); } catch (NoSuchElementException | IllegalArgumentException | SQLException ex) { - // TODO: set request attribute with error text - req.setAttribute("user", user); + final var viewModel = new UsersEditView(); + viewModel.setUser(user); + // TODO: viewModel.setErrorText() + setViewModel(req, viewModel); setContentPage(req, "user-form"); LOG.warn("Form validation failure: {}", ex.getMessage()); LOG.debug("Details:", ex);