src/main/kotlin/de/uapcore/lightpit/servlet/UsersServlet.kt

changeset 247
e71ae69c68c0
parent 210
37fbdcb422b7
child 254
55ca6cafc3dd
equal deleted inserted replaced
246:9a81a11be70e 247:e71ae69c68c0
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 package de.uapcore.lightpit.servlet 26 package de.uapcore.lightpit.servlet
27 27
28 import de.uapcore.lightpit.* 28 import de.uapcore.lightpit.AbstractServlet
29 import de.uapcore.lightpit.HttpRequest
30 import de.uapcore.lightpit.ValidatedValue
31 import de.uapcore.lightpit.ValidationError
29 import de.uapcore.lightpit.dao.DataAccessObject 32 import de.uapcore.lightpit.dao.DataAccessObject
30 import de.uapcore.lightpit.entities.User 33 import de.uapcore.lightpit.entities.User
31 import de.uapcore.lightpit.viewmodel.UserEditView 34 import de.uapcore.lightpit.viewmodel.UserEditView
32 import de.uapcore.lightpit.viewmodel.UsersView 35 import de.uapcore.lightpit.viewmodel.UsersView
33 import javax.servlet.annotation.WebServlet 36 import javax.servlet.annotation.WebServlet
34 37
35 @WebServlet(urlPatterns = ["/users/*"]) 38 @WebServlet(urlPatterns = ["/users/*"])
36 class UsersServlet : AbstractServlet(), LoggingTrait { 39 class UsersServlet : AbstractServlet() {
37 40
38 init { 41 init {
39 get("/", this::index) 42 get("/", this::index)
40 get("/-/create", this::create) 43 get("/-/create", this::create)
41 get("/%userid/edit", this::edit) 44 get("/%userid/edit", this::edit)
89 lastname = http.param("lastname") 92 lastname = http.param("lastname")
90 mail = http.param("mail") 93 mail = http.param("mail")
91 } 94 }
92 95
93 if (user.id > 0) { 96 if (user.id > 0) {
94 logger().info("Update user with id ${user.id}.")
95 dao.updateUser(user) 97 dao.updateUser(user)
96 http.renderCommit("users/") 98 http.renderCommit("users/")
97 } else { 99 } else {
98 val errorMessages = mutableListOf<String>() 100 val errorMessages = mutableListOf<String>()
99 user.username = http.param("username", { 101 user.username = http.param("username", {
101 else if (dao.findUserByName(it) != null) ValidationError("validation.username.unique") 103 else if (dao.findUserByName(it) != null) ValidationError("validation.username.unique")
102 else ValidatedValue(it) 104 else ValidatedValue(it)
103 }, "", errorMessages) 105 }, "", errorMessages)
104 106
105 if (errorMessages.isEmpty()) { 107 if (errorMessages.isEmpty()) {
106 logger().info("Insert user ${user.username}.")
107 dao.insertUser(user) 108 dao.insertUser(user)
108 http.renderCommit("users/") 109 http.renderCommit("users/")
109 } else { 110 } else {
110 http.view = UserEditView(user).apply { this.errorMessages = errorMessages } 111 http.view = UserEditView(user).apply { this.errorMessages = errorMessages }
111 http.render(form) 112 http.render(form)

mercurial