src/main/java/de/uapcore/lightpit/modules/UsersModule.java

changeset 86
0a658e53177c
parent 79
f64255a88d66
child 157
1e6f16fad3a5
equal deleted inserted replaced
85:3d16ad54b3dc 86:0a658e53177c
30 30
31 31
32 import de.uapcore.lightpit.*; 32 import de.uapcore.lightpit.*;
33 import de.uapcore.lightpit.dao.DataAccessObjects; 33 import de.uapcore.lightpit.dao.DataAccessObjects;
34 import de.uapcore.lightpit.entities.User; 34 import de.uapcore.lightpit.entities.User;
35 import de.uapcore.lightpit.viewmodel.UsersEditView;
36 import de.uapcore.lightpit.viewmodel.UsersView;
35 import org.slf4j.Logger; 37 import org.slf4j.Logger;
36 import org.slf4j.LoggerFactory; 38 import org.slf4j.LoggerFactory;
37 39
38 import javax.servlet.annotation.WebServlet; 40 import javax.servlet.annotation.WebServlet;
39 import javax.servlet.http.HttpServletRequest; 41 import javax.servlet.http.HttpServletRequest;
55 57
56 @RequestMapping(method = HttpMethod.GET) 58 @RequestMapping(method = HttpMethod.GET)
57 public ResponseType index(HttpServletRequest req, DataAccessObjects dao) throws SQLException { 59 public ResponseType index(HttpServletRequest req, DataAccessObjects dao) throws SQLException {
58 final var userDao = dao.getUserDao(); 60 final var userDao = dao.getUserDao();
59 61
60 req.setAttribute("users", userDao.list()); 62 final var viewModel = new UsersView();
63 viewModel.setUsers(userDao.list());
64 setViewModel(req, viewModel);
61 setContentPage(req, "users"); 65 setContentPage(req, "users");
62 66
63 return ResponseType.HTML; 67 return ResponseType.HTML;
64 } 68 }
65 69
66 @RequestMapping(requestPath = "edit", method = HttpMethod.GET) 70 @RequestMapping(requestPath = "edit", method = HttpMethod.GET)
67 public ResponseType edit(HttpServletRequest req, DataAccessObjects dao) throws SQLException { 71 public ResponseType edit(HttpServletRequest req, DataAccessObjects dao) throws SQLException {
68 72
69 req.setAttribute("user", findByParameter(req, Integer.class, "id", 73 final var viewModel = new UsersEditView();
74 viewModel.setUser(findByParameter(req, Integer.class, "id",
70 dao.getUserDao()::find).orElse(new User(-1))); 75 dao.getUserDao()::find).orElse(new User(-1)));
71 76
77 setViewModel(req, viewModel);
72 setContentPage(req, "user-form"); 78 setContentPage(req, "user-form");
73 79
74 return ResponseType.HTML; 80 return ResponseType.HTML;
75 } 81 }
76 82
90 setRedirectLocation(req, "./teams/"); 96 setRedirectLocation(req, "./teams/");
91 setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL); 97 setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL);
92 98
93 LOG.debug("Successfully updated user {}", user.getUsername()); 99 LOG.debug("Successfully updated user {}", user.getUsername());
94 } catch (NoSuchElementException | IllegalArgumentException | SQLException ex) { 100 } catch (NoSuchElementException | IllegalArgumentException | SQLException ex) {
95 // TODO: set request attribute with error text 101 final var viewModel = new UsersEditView();
96 req.setAttribute("user", user); 102 viewModel.setUser(user);
103 // TODO: viewModel.setErrorText()
104 setViewModel(req, viewModel);
97 setContentPage(req, "user-form"); 105 setContentPage(req, "user-form");
98 LOG.warn("Form validation failure: {}", ex.getMessage()); 106 LOG.warn("Form validation failure: {}", ex.getMessage());
99 LOG.debug("Details:", ex); 107 LOG.debug("Details:", ex);
100 } 108 }
101 109

mercurial